/* Copyright 2020 Whitestack LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ module ns-vld { yang-version 1.1; namespace "urn:etsi:osm:yang:augments:ns-vld"; prefix "ns-vld"; import etsi-nfv-nsd { prefix nsd; } import ietf-inet-types { prefix inet; } grouping extended-vld { container provider-network { description "Container for the provider network."; leaf physical-network { description "Name of the physical network on which the provider network is built."; type string; } leaf segmentation_id { description "ID of segregated virtual networks"; type uint32; } } leaf mgmt-network { description "Flag indicating whether this network is a VIM management network"; type boolean; default false; } leaf vim-network-name { description "Name of network in VIM account. This is used to indicate pre-provisioned network name in cloud account."; type string; } } augment "/nsd:nsd/nsd:nsd/nsd:virtual-link-desc" { uses extended-vld; } grouping deviated-constituent-cpd-id { list constituent-cpd-id { key "constituent-base-element-id constituent-cpd-id"; description "Describes a connection point on a VNF/PNF or a SAP which connects to virtual links instantiated from the profile identified in the virtualLinkProfileId attribute."; reference "GS NFV IFA014: Section 6.3.7 NsVirtualLinkConnectivity information element"; leaf constituent-base-element-id { type leafref { path "../../../nsd:id"; } description "Reference to the profile of an NS constituent."; reference "GS NFV IFA014: Section 6.4.8 CpdInConstituentElement information element"; } leaf constituent-cpd-id { type leafref { path "deref(../../../nsd:vnfd-id)/../nsd:ext-cpd/nsd:id"; } description "A reference to the descriptor of a connection point attached to one of the constituent VNFs and PNFs or to the descriptor of a NS SAP."; reference "GS NFV IFA014: Section 6.4.4.2 CpdPool information element"; } leaf ip-address { description "IP address assigned to the internal connection point"; type inet:ip-address; } } } deviation "/nsd:nsd/nsd:nsd/nsd:df/nsd:vnf-profile/nsd:virtual-link-connectivity/nsd:constituent-cpd-id" { description "Deviation of the list of constituent-cpd-id, because the key must be a compound key 'constituent-base-element-id constituent-cpd-id'"; deviate not-supported; } augment "/nsd:nsd/nsd:nsd/nsd:df/nsd:vnf-profile/nsd:virtual-link-connectivity" { description "Augment of nsd:virtual-link-connectivity to define a list of constituent-cpd-id, replacing the one in SOL006, with a compound key 'constituent-base-element-id constituent-cpd-id', and the addition of the leaf ip-address for each item in the list."; uses deviated-constituent-cpd-id; } }