| /* |
| 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-list ip-address { |
| description |
| "IP address list 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; |
| } |
| |
| } |