SOL006 augment: KDU support for helm v3
[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         leaf port-security-disable-strategy {
62             description "Strategy to disable port security, either Enables the port security for the port.
63                          full                : disable port security in the whole port
64                          allow-address-pairs : allow address pairs for virtual IP (any virtual IP can be configured)";
65             type enumeration {
66                 enum full;
67                 enum allow-address-pairs;
68             }
69             default full;
70         }
71     }
72
73     grouping extended-vdu {
74         leaf pdu-type {
75             description
76               "Type of PDU. If this field exists, the deployment unit must be
77                understood as a PDU, not as a VDU. This field is used to identify
78                the category of PDU instances to be used at instantiation time. For
79                the instantiation to be successful, there must be available
80                PDU instances of this type in the selected datacenter.";
81             type string;
82         }
83
84         container supplemental-boot-data {
85             leaf boot-data-drive {
86                 description
87                   "Some VIMs implement additional drives to host config-files or meta-data";
88                 type boolean;
89                 default false;
90             }
91         }
92     }
93
94     grouping extended-device-bus {
95         leaf device-bus {
96             description
97               "Type of disk-bus on which this disk is exposed to guest";
98             type enumeration {
99                 enum ide;
100                 enum usb;
101                 enum virtio;
102                 enum scsi;
103             }
104         }
105     }
106
107     augment "/vnfd:vnfd/vnfd:int-virtual-link-desc" {
108         uses extended-vld;
109     }
110
111     augment "/vnfd:vnfd/vnfd:df/vnfd:virtual-link-profile/vnfd:virtual-link-protocol-data/vnfd:l3-protocol-data" {
112         uses extended-security-group;
113     }
114
115     augment "/vnfd:vnfd/vnfd:ext-cpd" {
116         uses extended-cpd;
117     }
118
119     augment "/vnfd:vnfd/vnfd:vdu/vnfd:int-cpd" {
120         uses extended-cpd;
121     }
122
123     augment "/vnfd:vnfd/vnfd:vdu" {
124         uses extended-vdu;
125     }
126
127     augment "/vnfd:vnfd/vnfd:virtual-storage-desc" {
128         uses extended-device-bus;
129     }
130 }
131