Merge from OSM SO master
[osm/SO.git] / models / plugins / yang / pnfd.yang
1
2 /*
3  * 
4  *   Copyright 2016-2017 RIFT.IO Inc
5  *
6  *   Licensed under the Apache License, Version 2.0 (the "License");
7  *   you may not use this file except in compliance with the License.
8  *   You may obtain a copy of the License at
9  *
10  *       http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *   Unless required by applicable law or agreed to in writing, software
13  *   distributed under the License is distributed on an "AS IS" BASIS,
14  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *   See the License for the specific language governing permissions and
16  *   limitations under the License.
17  *
18  *
19  */
20
21 module pnfd
22 {
23   namespace "urn:ietf:params:xml:ns:yang:nfvo:pnfd";
24   prefix "pnfd";
25
26   import rw-pb-ext {
27     prefix "rwpb";
28   }
29
30   import ietf-inet-types {
31     prefix "inet";
32   }
33
34   import ietf-yang-types {
35     prefix "yang";
36   }
37
38   import mano-types {
39     prefix "manotypes";
40   }
41
42   import rw-project {
43     prefix "rw-project";
44   }
45
46   revision 2017-02-08 {
47     description
48       "Update model to support projects.";
49   }
50
51   revision 2015-09-10 {
52     description
53       "Initial revision. This YANG file defines 
54        the Physical Network Function Descriptor (PNFD)";
55     reference
56       "Derived from earlier versions of base YANG files";
57   }
58
59   augment "/rw-project:project" {
60     container pnfd-catalog {
61
62       list pnfd {
63         key "id";
64
65         leaf id {
66           description "Identifier for the PNFD.";
67           type yang:uuid;
68         }
69
70         leaf name {
71           description "PNFD name.";
72           type string;
73         }
74
75         leaf short-name {
76           description "Short name to appear as label in the UI";
77           type string;
78         }
79
80         leaf vendor {
81           description "Vendor of the PNFD.";
82           type string;
83         }
84
85         leaf description {
86           description "Description of the PNFD.";
87           type string;
88         }
89
90         leaf version {
91           description "Version of the PNFD";
92           type string;
93         }
94
95         list connection-point {
96           description
97             "List for external connection points. Each PNF has one or more external
98             connection points.";
99           key "id";
100           leaf id {
101             description
102               "Identifier for the external connection points";
103             type uint64;
104           }
105
106           leaf cp-type {
107             description
108               "Type of the connection point.";
109             type manotypes:connection-point-type;
110           }
111         }
112       }
113     }
114   }
115 }