blob: 274788781e728c988f6d2e9bb28ba30062765de3 [file] [log] [blame]
/*
*
* Copyright 2016 RIFT.IO Inc
*
* 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 vld
{
namespace "urn:ietf:params:xml:ns:yang:nfvo:vld";
prefix "vld";
import rw-pb-ext {
prefix "rwpb";
}
import vnfd {
prefix "vnfd";
}
import ietf-inet-types {
prefix "inet";
}
import ietf-yang-types {
prefix "yang";
}
import mano-types {
prefix "manotypes";
}
revision 2015-09-10 {
description
"Initial revision. This YANG file defines
the Virtual Link Descriptor (VLD)";
reference
"Derived from earlier versions of base YANG files";
}
container vld-catalog {
list vld {
key "id";
leaf id {
description "Identifier for the VLD.";
type yang:uuid;
}
leaf name {
description "Virtual Link Descriptor (VLD) name.";
type string;
}
leaf short-name {
description "Short name for VLD for UI";
type string;
}
leaf vendor {
description "Provider of the VLD.";
type string;
}
leaf description {
description "Description of the VLD.";
type string;
}
leaf version {
description "Version of the VLD";
type string;
}
leaf type {
type manotypes:virtual-link-type;
}
leaf root-bandwidth {
description
"For ELAN this is the aggregate bandwidth.";
type uint64;
}
leaf leaf-bandwidth {
description
"For ELAN this is the bandwidth of branches.";
type uint64;
}
list vnfd-connection-point-ref {
description
"A list of references to connection points.";
key "vnfd-ref member-vnf-index-ref";
leaf vnfd-ref {
description "A reference to a vnfd";
type leafref {
path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id";
}
}
leaf member-vnf-index-ref {
description
"A reference to the consituent-vnfd id in nsd.
Should have been a leafref to:
'/nsd:nsd-catalog:/nsd:nsd/constituent-vnfd/member-vnf-index-ref'.
Instead using direct leaf to avoid circular reference.";
type uint64;
}
leaf vnfd-connection-point-ref {
description
"A reference to a connection point name in a vnfd";
type leafref {
path "/vnfd:vnfd-catalog/vnfd:vnfd"
+ "[vnfd:id = current()/../vld:vnfd-ref]"
+ "/vnfd:connection-point/vnfd:name";
}
}
}
// replicate for pnfd container here
uses manotypes:provider-network;
}
}
}