-//INFORMATION
-//organization "CTTC";
-//contact "Pol Alemany, Ricard Vilalta, Juan Luis de la Cruz";
-//description "Network Slice components definition";
+/*
+ *
+ * Copyright 2018 CTTC
+ * Copyright 2018 Telefonica Investigacion y Desarrollo S.A.U.
+ *
+ * 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 STRUCTURE
module instantiation-parameters {
//header information
yang-version 1;
- namespace "urn:ietf:params:xml:ns:yang:nfvo:instantiation-parameters";
+ namespace "urn:etsi:osm:yang:instantiation-parameters";
prefix "instantiation-parameters";
- import rw-project {
- prefix "rw-project";
- }
-
import nsd {
prefix "nsd";
}
prefix "vnfd";
}
- import nsr {
- prefix "nsr";
- }
-
import ietf-inet-types {
prefix "inet";
}
import ietf-yang-types {
prefix "ietf-yang";
}
-
+
//revision history
revision 2018-09-14 {
description "Initial version";
}
- //typedef definitions
- grouping ns_instantiate {
- leaf nsName {
- mandatory true;
- type string;
- }
- leaf nsDescription {
- type string;
- }
- leaf nsdId {
- mandatory true;
- type leafref {
- path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
- }
- }
+
+ grouping ns_params {
leaf vimAccountId {
mandatory true;
type string;
leaf ssh_keys {
type string;
}
- leaf nsr_id {
- config false;
- type leafref {
- path "/rw-project:project/nsr:ns-instance-opdata/nsr:nsr/nsr:ns-instance-config-ref";
- }
- }
list vnf {
key "member-vnf-index";
- uses vnf;
+ uses vnf_params;
}
list vld {
key "name";
- uses vld;
+ uses vld_params;
}
}
- grouping vnf {
+
+ grouping vnf_params {
leaf member-vnf-index{
mandatory true;
type string;
}
list vdu {
key "id";
- uses ns_instantiate_vdu;
+ uses vdu_params;
}
list internal-vld {
key "name";
- uses ns-instantiate-internal-vld;
+ uses internal_vld_params;
}
}
- grouping vld {
+ grouping vld_common_params {
leaf name {
type string;
}
container ip-profile {
uses ip-profile-update-schema;
}
+ }
+
+ grouping vld_params {
+ uses vld_common_params;
list vnfd-connection-point-ref {
key "member-vnf-index-ref vnfd-connection-point-ref";
leaf member-vnf-index-ref {
type leafref {
- path "../../../vnf/member-vnf-index";
+ //path "../../../vnf/member-vnf-index";
+ path "/nsd:nsd-catalog/nsd:nsd/nsd:constituent-vnfd/nsd:member-vnf-index";
}
}
leaf vnfd-connection-point-ref {
type inet:ip-address;
}
}
-
}
- grouping ns_instantiate_vdu {
+ grouping vdu_params {
leaf id {
mandatory true;
type string;
}
}
- grouping ns-instantiate-internal-vld {
+ grouping internal_vld_params {
leaf name {
mandatory true;
type string;
type inet:ip-prefix;
}
leaf gateway-address {
- type inet:ip-prefix;
+ type inet:ip-address;
}
list dns-server {
key "address";
}
}
}
-
- list instantiation-parameters {
- key "nsName";
- uses ns_instantiate;
- }
-}
\ No newline at end of file
+}