4 * Copyright 2016-2017 RIFT.IO Inc
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
23 namespace "http://riftio.com/ns/riftware-1.0/rw-vnfd";
26 import ietf-inet-types {
35 prefix "rw-vnfd-base";
42 import mano-rift-groupings {
52 "Update model to support projects.";
57 "Initial revision. This YANG file augments
60 "Derived from earlier versions of base YANG files";
63 grouping vnfd-config-parameter {
64 container config-parameter {
66 "List of VNF config parameter requests and sources";
67 list config-parameter-source {
68 description "The list of parameters exposed by this VNF";
72 description "Name of the source";
79 description " Description of the source";
87 "Location of this source as an xpath.
89 ../../../mgmt-interface/port";
97 "Location of this source as runtime attribute.
98 The value is <xpath>, <attribute_name>
100 ../../../mgmt-interface, ip-address
101 which retruns the ip-address assigned to the
102 mgmt-interface after VNF instantiation.";
108 leaf config-primitive-name-ref {
110 "A leafref to configuration primitive.
111 This refers to a config parameter whose
112 output parameter is referred in out-parameter.";
114 path "../../../vnfd:vnf-configuration/vnfd:config-primitive/vnfd:name";
120 "Name of the output parameter in the config primitiive";
123 "../../../vnfd:vnf-configuration/vnfd:config-primitive[vnfd:name=current()/../config-primitive-name-ref]/vnfd:parameter/vnfd:name";
131 "Pre-defined value to be used for this source";
138 key "config-primitive-name-ref";
140 leaf config-primitive-name-ref {
142 "Name of the configuration primitive where this
145 path "../../../../vnfd:vnf-configuration/vnfd:config-primitive/vnfd:name";
149 leaf config-primitive-parameter-ref {
151 "Parameter name of the config primitive";
153 path "../../../../vnfd:vnf-configuration/vnfd:config-primitive[vnfd:name=current()/../config-primitive-name-ref]/vnfd:parameter/vnfd:name";
159 list config-parameter-request {
160 description "The list of requests for this VNF";
164 description "Name of this parameter request";
171 description "Description of this request";
176 key "config-primitive-name-ref";
178 leaf config-primitive-name-ref {
180 "Name of the configuration primitive where this
183 path "../../../../vnfd:vnf-configuration/vnfd:config-primitive/vnfd:name";
187 leaf config-primitive-parameter-ref {
189 "Parameter name of the config primitive";
191 path "../../../../vnfd:vnf-configuration/vnfd:config-primitive[vnfd:name=current()/../config-primitive-name-ref]/vnfd:parameter/vnfd:name";
199 augment /vnfd:vnfd-catalog/vnfd:vnfd {
200 uses rw-vnfd-base:rw-vnfd-ext;
201 uses vnfd-config-parameter;
204 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:mgmt-interface {
205 uses rw-vnfd-base:ssh-key;
208 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:http-endpoint {
209 uses mano-rift:http-end-point-additions;
212 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu/vnfd:supplemental-boot-data {
213 uses mano-rift:custom-meta-data;
216 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu/vnfd:volumes {
217 uses mano-rift:volume-info-additions;
218 uses mano-rift:custom-meta-data;
221 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu/vnfd:interface {
222 leaf static-ip-address {
223 description "Static IP address for the connection point";
224 type inet:ip-address;
227 leaf floating-ip-needed{
231 "Sole purpose of this field is to facilitate translation of VNFD
236 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu/vnfd:volumes/vnfd:volume-source {
239 description "Reference for pre-existing volume in VIM";
245 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:internal-vld {
246 list virtual-connection-points {
248 "A list of virtual-connection points associated with Virtual Link.
249 These connection points are not directly associated with any VDUs";
251 uses vnfd-base:common-connection-point;
253 leaf-list associated-cps {
255 "A List of connection points associated with virtual connection point";
257 path "../../vnfd:internal-connection-point/vnfd:id-ref";
264 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu/vnfd:vm-flavor {
265 uses manotypes:vm-flavor-name;
268 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vnf-configuration/vnfd:config-primitive/vnfd:parameter {
270 description "If this is an output of the primitive execution";
276 augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vnf-configuration/vnfd:initial-config-primitive/vnfd:primitive-type {
278 leaf config-primitive-ref {
280 "Reference to a config primitive name.
281 NOTE: The config primitive referred should have
282 all the input parameters predefined either
283 with default values or dependency references.";
285 path "../../vnfd:config-primitive/vnfd:name";