namespace "urn:ietf:params:xml:ns:yang:nfvo: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";
}
description "Initial version";
}
- grouping ns_instantiate {
- leaf nsName {
+ grouping netslice_params {
+ leaf vimAccountId {
mandatory true;
type string;
}
- leaf nsDescription {
+ leaf ssh_keys {
type string;
}
- leaf nsdId {
+ list netslice-subnet {
+ key "id";
+ uses netslice_subnet_params;
+ }
+ list netslice-vld {
+ key "name";
+ uses vld_params;
+ }
+ }
+
+ grouping netslice_subnet_params {
+ leaf id {
mandatory true;
- type leafref {
- path "/nsd:nsd-catalog/nsd:nsd/nsd:id";
- }
+ type string;
}
+ uses ns_params;
+ }
+
+ 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_params {
leaf name {
type string;
}
}
}
- 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;
}
}
-}
\ No newline at end of file
+}
prefix "instantiation-parameters";
}
+ import ietf-yang-types {
+ prefix "yang";
+ }
+
//revision history
revision 2018-09-28 {
description "Initial version";
grouping nsi {
leaf id {
+ description "Identifier for the NSI.";
+ type yang:uuid;
+ }
+
+ leaf name {
+ description "NSI name.";
+ type string;
+ mandatory true;
+ }
+
+ leaf short-name {
+ description "NSI short name.";
type string;
}
+
+ leaf description {
+ description "NSI description.";
+ type string;
+ }
+
leaf nst-ref {
type leafref {
path "/nst:nst/nst:id";
}
+ mandatory true;
}
container instantiation-parameters {
- list netslice-subnet {
- key "nsdId";
- uses instantiation-parameters:ns_instantiate;
- }
- list netslice-vld {
- key "name";
- uses instantiation-parameters:vld;
- }
+ uses instantiation-parameters:netslice_params;
}
container network-slice-template {
list nsi{
key "id";
+ unique "name";
uses nsi;
}
grouping netslice-subnet {
leaf id {
- description "Identifier for the netslice-subnet.";
+ description "Identifier or name for the netslice-subnet in NST scope.";
mandatory true;
type string {
length 1..63;
}
}
- leaf name {
- description "netslice-subnet name.";
- mandatory true;
- type string;
- }
- leaf short-name {
- description "Short name to appear as label in the UI";
- mandatory true;
- type string;
- }
- leaf vendor {
- description "Vendor of the NSD.";
- mandatory true;
+ leaf description {
+ description "Description of the NSD.";
type string;
}
leaf is-shared-nss {
description "NSS is shared between NS";
- mandatory true;
type boolean;
- }
- leaf description {
- description "Description of the NSD.";
- mandatory true;
- type string;
- }
- leaf version {
- description "Version of the NSD";
- mandatory true;
- type string;
+ default false;
}
leaf nsd-ref {
description "Reference to catalog NSD";
}
}
container instantiation-parameters {
- uses instantiation-parameters:ns_instantiate;
+ uses instantiation-parameters:ns_params;
}
}
leaf name {
type string;
+ mandatory true;
}
container SNSSAI-identifier {
key "id";
uses nsvld;
}
- list netslicefgd{
+ list netslicefgd {
key "id";
uses netslicefgd;
}