module nsd
{
- namespace "urn:ietf:params:xml:ns:yang:nfvo:nsd";
+ namespace "urn:etsi:osm:yang:nsd";
prefix "nsd";
import vnfd {
prefix "manotypes";
}
+ import ietf-inet-types {
+ prefix "inet";
+ }
+
revision 2017-02-28 {
description
"Update model to support projects.";
"Identifier/index for the VNFD. This separate id
is required to ensure that multiple VNFs can be
part of single NS";
- type uint64;
+ type string;
}
leaf vnfd-id-ref {
}
}
+ leaf vnfd-connection-point-ref {
+ description "A reference to a connection point name";
+ type leafref {
+ path "/vnfd:vnfd-catalog/vnfd:vnfd" +
+ "[vnfd:id = current()/../vnfd-id-ref]/" +
+ "vnfd:connection-point/vnfd:name";
+ }
+ }
+
leaf vnfd-id-ref {
description
"A reference to a VNFD";
}
}
- leaf vnfd-connection-point-ref {
- description "A reference to a connection point name";
- type leafref {
- path "/vnfd:vnfd-catalog/vnfd:vnfd" +
- "[vnfd:id = current()/../vnfd-id-ref]/" +
- "vnfd:connection-point/vnfd:name";
- }
+ leaf ip-address {
+ description "IP address of the connection point";
+ type inet:ip-address;
}
+
}
}
}
}
}
- grouping nsd-service-primitive {
- list service-primitive {
- description
- "Network service level service primitives.";
-
- key "name";
-
- leaf name {
- description
- "Name of the service primitive.";
- type string;
- }
-
- list parameter {
- description
- "List of parameters for the service primitive.";
-
- key "name";
- uses manotypes:primitive-parameter;
- }
-
- uses manotypes:ui-primitive-group;
-
- list vnf-primitive-group {
- description
- "List of service primitives grouped by VNF.";
-
- key "member-vnf-index-ref";
- leaf member-vnf-index-ref {
- description
- "Reference to member-vnf within constituent-vnfds";
- type leafref {
- path "../../../constituent-vnfd/member-vnf-index";
- }
- }
-
- leaf vnfd-id-ref {
- description
- "A reference to a VNFD. This is a leafref";
-
- type leafref {
- path "../../../constituent-vnfd" +
- "[member-vnf-index = current()/../member-vnf-index-ref]" + "/vnfd-id-ref";
- }
- }
-
- leaf vnfd-name {
- description
- "Name of the VNFD";
- type leafref {
- path "/vnfd:vnfd-catalog/vnfd:vnfd"
- + "[vnfd:id = current()/../vnfd-id-ref]"
- + "/vnfd:name";
- }
- }
-
- list primitive {
- key "index";
-
- leaf index {
- description "Index of this primitive";
- type uint32;
- }
-
- leaf name {
- description "Name of the primitive in the VNF primitive ";
- type string;
- }
- }
- }
+ container nsd-catalog {
- leaf user-defined-script {
- description
- "A user defined script.";
- type string;
- }
+ leaf schema-version {
+ description "Schema version for the NSD. If unspecified, it assumes v3.0";
+ type string;
+ default "v3.0";
}
- }
-
- container nsd-catalog {
list nsd {
key id;
uses nsd-vnf-dependency;
uses nsd-monitoring-param;
-
- uses nsd-service-primitive;
}
}
}