day1-2: rename connection-point-ref to external-connection-point-ref
[osm/IM.git] / models / augments / ns-vld.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 ns-vld {
19     yang-version 1.1;
20     namespace "urn:etsi:osm:yang:augments:ns-vld";
21     prefix "ns-vld";
22
23     import etsi-nfv-nsd {
24         prefix nsd;
25     }
26
27     import ietf-inet-types {
28         prefix inet;
29     }
30
31     grouping extended-vld {
32         container provider-network {
33             description
34               "Container for the provider network.";
35             leaf physical-network {
36                 description
37                   "Name of the physical network on which the provider
38                    network is built.";
39                 type string;
40             }
41
42             leaf segmentation_id {
43                 description
44                   "ID of segregated virtual networks";
45                 type uint32;
46             }
47         }
48
49         leaf mgmt-network {
50             description
51               "Flag indicating whether this network is a VIM management network";
52             type boolean;
53             default false;
54         }
55
56         leaf vim-network-name {
57             description
58               "Name of network in VIM account. This is used to indicate
59                pre-provisioned network name in cloud account.";
60             type string;
61         }
62     }
63
64     augment "/nsd:nsd/nsd:nsd/nsd:virtual-link-desc" {
65         uses extended-vld;
66     }
67
68     grouping deviated-constituent-cpd-id {
69         list constituent-cpd-id {
70            key "constituent-base-element-id constituent-cpd-id";
71
72            description
73              "Describes a connection point on a VNF/PNF or a SAP
74               which connects to virtual links instantiated from
75               the profile identified in the virtualLinkProfileId
76               attribute.";
77            reference
78              "GS NFV IFA014: Section 6.3.7
79               NsVirtualLinkConnectivity information element";
80
81            leaf constituent-base-element-id {
82                type leafref {
83                    path "../../../nsd:id";
84                }
85                description
86                  "Reference to the profile of an NS constituent.";
87                reference
88                  "GS NFV IFA014: Section 6.4.8
89                   CpdInConstituentElement information element";
90            }
91
92            leaf constituent-cpd-id {
93                type leafref {
94                    path "deref(../../../nsd:vnfd-id)/../nsd:ext-cpd/nsd:id";
95                }
96                description
97                  "A reference to the descriptor of a connection point
98                   attached to one of the constituent VNFs and PNFs or to
99                   the descriptor of a NS SAP.";
100                reference
101                  "GS NFV IFA014: Section 6.4.4.2 CpdPool information
102                   element";
103            }
104
105            leaf ip-address {
106                description
107                  "IP address assigned to the internal connection point";
108                   type inet:ip-address;
109            }
110        }
111     }
112
113     deviation "/nsd:nsd/nsd:nsd/nsd:df/nsd:vnf-profile/nsd:virtual-link-connectivity/nsd:constituent-cpd-id" {
114         description
115           "Deviation of the list of constituent-cpd-id, because the key must be
116            a compound key 'constituent-base-element-id constituent-cpd-id'";
117         deviate not-supported;
118     }
119
120     augment "/nsd:nsd/nsd:nsd/nsd:df/nsd:vnf-profile/nsd:virtual-link-connectivity" {
121         description
122           "Augment of nsd:virtual-link-connectivity to define a list of constituent-cpd-id,
123            replacing the one in SOL006, with a compound key
124            'constituent-base-element-id constituent-cpd-id', and the
125            addition of the leaf ip-address for each item in the list.";
126         uses deviated-constituent-cpd-id;
127     }
128
129 }