All the yang files from SO committed to IM
[osm/IM.git] / models / yang / pnfd.yang
1
2 /*
3  * 
4  *   Copyright 2016 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   revision 2015-09-10 {
43     description
44       "Initial revision. This YANG file defines 
45        the Physical Network Function Descriptor (PNFD)";
46     reference
47       "Derived from earlier versions of base YANG files";
48   }
49
50   container pnfd-catalog {
51
52     list pnfd {
53       key "id";
54
55       leaf id {
56         description "Identifier for the PNFD.";
57         type yang:uuid;
58       }
59
60       leaf name {
61         description "PNFD name.";
62         type string;
63       }
64
65       leaf short-name {
66         description "Short name to appear as label in the UI";
67         type string;
68       }
69
70       leaf vendor {
71         description "Vendor of the PNFD.";
72         type string;
73       }
74
75       leaf description {
76         description "Description of the PNFD.";
77         type string;
78       }
79
80       leaf version {
81         description "Version of the PNFD";
82         type string;
83       }
84
85       list connection-point {
86         description
87             "List for external connection points. Each PNF has one or more external
88             connection points.";
89         key "id";
90         leaf id {
91           description
92               "Identifier for the external connection points";
93           type uint64;
94         }
95
96         leaf cp-type {
97           description
98               "Type of the connection point.";
99           type manotypes:connection-point-type;
100         }
101       }
102     }
103   }
104 }