23f86ca25f717f689e25a2fb29192531517de6e6
[osm/IM.git] / models / augments / various.yang
1 /*
2   Copyright 2020 Whitestack LLC
3
4   Licensed under the Apache License, Version 2.0 (the "License");
5   you may not use this file except in compliance with the License.
6   You may obtain a copy of the License at
7
8     http://www.apache.org/licenses/LICENSE-2.0
9
10   Unless required by applicable law or agreed to in writing, software
11   distributed under the License is distributed on an "AS IS" BASIS,
12   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13   implied.
14   See the License for the specific language governing permissions and
15   limitations under the License.
16 */
17
18 module various {
19     yang-version 1.1;
20     namespace "urn:etsi:osm:yang:augments:various";
21     prefix "various";
22
23     import etsi-nfv-vnfd {
24         prefix vnfd;
25     }
26     
27     grouping extended-vld {
28         container provider-network {
29             description
30               "Container for the provider network.";
31             leaf physical-network {
32                 description
33                   "Name of the physical network on which the provider
34                    network is built.";
35                 type string;
36             }
37
38             leaf segmentation_id {
39                 description
40                   "ID of segregated virtual networks";
41                 type uint32;
42             }
43         }
44     }
45
46     grouping extended-security-group {
47         leaf security-group {
48             description
49               "Name of the security group";
50             type string;
51         }
52     }
53
54     grouping extended-cpd {
55         leaf port-security-enabled {
56             description
57               "Enables the port security for the port.";
58             type boolean;
59             default true;
60         }
61     }
62
63     grouping extended-vdu {
64         leaf pdu-type {
65             description
66               "Type of PDU. If this field exists, the deployment unit must be
67                understood as a PDU, not as a VDU. This field is used to identify
68                the category of PDU instances to be used at instantiation time. For
69                the instantiation to be successful, there must be available
70                PDU instances of this type in the selected datacenter.";
71             type string;
72         }
73
74         container supplemental-boot-data {
75             leaf boot-data-drive {
76                 description
77                   "Some VIMs implement additional drives to host config-files or meta-data";
78                 type boolean;
79                 default false;
80             }
81         }
82     }
83
84     grouping extended-device-bus {
85         leaf device-bus {
86             description
87               "Type of disk-bus on which this disk is exposed to guest";
88             type enumeration {
89                 enum ide;
90                 enum usb;
91                 enum virtio;
92                 enum scsi;
93             }
94         }
95     }
96
97     augment "/vnfd:vnfd/vnfd:int-virtual-link-desc" {
98         uses extended-vld;
99     }
100
101     augment "/vnfd:vnfd/vnfd:df/vnfd:virtual-link-profile/vnfd:virtual-link-protocol-data/vnfd:l3-protocol-data" {
102         uses extended-security-group;
103     }
104
105     augment "/vnfd:vnfd/vnfd:ext-cpd" {
106         uses extended-cpd;
107     }
108
109     augment "/vnfd:vnfd/vnfd:vdu/vnfd:int-cpd" {
110         uses extended-cpd;
111     }
112
113     augment "/vnfd:vnfd/vnfd:vdu" {
114         uses extended-vdu;
115     }
116
117     augment "/vnfd:vnfd/vnfd:virtual-storage-desc" {
118         uses extended-device-bus;
119     }
120 }