4 * Copyright 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-project-nsd";
24 prefix "rw-project-nsd";
35 prefix "project-vnfd";
38 import rw-project-vnfd {
39 prefix "rw-project-vnfd";
52 "Initial revision. This YANG file augments
55 "Derived from earlier versions of base YANG files";
58 grouping project-nsd-config-parameter{
59 list config-parameter-map {
61 description "A mapping of VNF config parameter
62 requests and sources within this network service";
64 description "Identfier for VNF map";
67 container config-parameter-request {
68 leaf member-vnf-index-ref {
69 description "Reference to member-vnf within constituent-vnfds";
71 path "../../../project-nsd:constituent-vnfd/project-nsd:member-vnf-index";
76 "A reference to a vnfd. This is a
78 ../../project-nsd:constituent-vnfd
79 + [project-nsd:id = current()/../id-ref]
80 + /project-nsd:vnfd-id-ref";
83 path "../../../project-nsd:constituent-vnfd[project-nsd:member-vnf-index = current()/../member-vnf-index-ref]/project-nsd:vnfd-id-ref";
86 leaf config-parameter-request-ref {
87 description "Reference to the request in the VNF
88 with the specified member-vnf-index";
90 path "../../../../.." +
91 "/project-vnfd:vnfd-catalog/project-vnfd:vnfd[project-vnfd:id = current()/../vnfd-id-ref]" +
92 "/rw-project-vnfd:config-parameter/rw-project-vnfd:config-parameter-request/rw-project-vnfd:name";
96 container config-parameter-source {
97 leaf member-vnf-index-ref {
98 description "Reference to member-vnf within constituent-vnfds";
100 path "../../../project-nsd:constituent-vnfd/project-nsd:member-vnf-index";
105 "A reference to a vnfd. This is a
107 ../../project-nsd:constituent-vnfd
108 + [project-nsd:id = current()/../id-ref]
109 + /project-nsd:vnfd-id-ref";
112 path "../../../project-nsd:constituent-vnfd[project-nsd:member-vnf-index = current()/../member-vnf-index-ref]/project-nsd:vnfd-id-ref";
115 leaf config-parameter-source-ref {
116 description "Reference to the source in the VNF
117 with the specified member-vnf-index";
119 path "../../../../.." +
120 "/project-vnfd:vnfd-catalog/project-vnfd:vnfd[project-vnfd:id = current()/../vnfd-id-ref]" +
121 "/rw-project-vnfd:config-parameter/rw-project-vnfd:config-parameter-source/rw-project-vnfd:name";
128 augment /rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd {
129 uses rw-nsd-base:rw-nsd-ext;
132 augment /rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:service-primitive/project-nsd:parameter {
134 description "If this is an output of the primitive execution";
140 augment /rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:service-primitive/project-nsd:parameter-group/project-nsd:parameter {
142 description "If this is an output of the primitive execution";
148 augment /rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd/project-nsd:vld {
149 leaf ipv4-nat-pool-name{
151 description "IPV4 nat pool name";
154 list virtual-connection-points {
156 "A list of virtual-connection points associated with Virtual Link.
157 These connection points are not directly associated with any VNFs";
159 uses vnfd-base:common-connection-point;
161 leaf-list associated-cps {
163 "A List of connection points associated with virtual connection point";
165 path "../../project-nsd:vnfd-connection-point-ref/project-nsd:vnfd-connection-point-ref";
171 augment /rw-project:project/project-nsd:nsd-catalog/project-nsd:nsd {
172 uses project-nsd-config-parameter;