blob: ac3cc4c3a7a6722466fdb9b1c50b791cf8c20dea [file] [log] [blame]
/*
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;
}
}