update from RIFT as of 696b75d2fe9fb046261b08c616f1bcf6c0b54a9b second try
[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 ietf-inet-types {
27     prefix "inet";
28   }
29
30   import ietf-yang-types {
31     prefix "yang";
32   }
33
34   import mano-types {
35     prefix "manotypes";
36   }
37
38   import rw-project {
39     prefix "rw-project";
40   }
41
42   revision 2017-02-08 {
43     description
44       "Update model to support projects.";
45   }
46
47   revision 2015-09-10 {
48     description
49       "Initial revision. This YANG file defines 
50        the Physical Network Function Descriptor (PNFD)";
51     reference
52       "Derived from earlier versions of base YANG files";
53   }
54
55   augment "/rw-project:project" {
56     container pnfd-catalog {
57
58       list pnfd {
59         key "id";
60
61         leaf id {
62           description "Identifier for the PNFD.";
63           type yang:uuid;
64         }
65
66         leaf name {
67           description "PNFD name.";
68           type string;
69         }
70
71         leaf short-name {
72           description "Short name to appear as label in the UI";
73           type string;
74         }
75
76         leaf vendor {
77           description "Vendor of the PNFD.";
78           type string;
79         }
80
81         leaf description {
82           description "Description of the PNFD.";
83           type string;
84         }
85
86         leaf version {
87           description "Version of the PNFD";
88           type string;
89         }
90
91         list connection-point {
92           description
93             "List for external connection points. Each PNF has one or more external
94             connection points.";
95           key "id";
96           leaf id {
97             description
98               "Identifier for the external connection points";
99             type uint64;
100           }
101
102           leaf cp-type {
103             description
104               "Type of the connection point.";
105             type manotypes:connection-point-type;
106           }
107         }
108       }
109     }
110   }
111 }