}
}
}
-
- grouping image-properties {
+
+ grouping image-properties {
leaf image {
description
"Image name for the software image.
}
}
- grouping vnf-configuration {
- container vnf-configuration {
- description
- "Information about the VNF configuration. Note:
- If the NS contains multiple instances of the
- same VNF, each instance could have a different
- configuration.";
- choice config-method {
- description
- "Defines the configuration method for the VNF.";
- case script {
+ grouping vca-relationships {
+ container vca-relationships {
+ list relation {
+ description "List of relations between VCA componets.";
+
+ key "requires provides";
+
+ leaf requires {
description
- "Use custom script for configuring the VNF.
- This script is executed in the context of
- Orchestrator (The same system and environment
- as the Launchpad).";
- container script {
- leaf script-type {
- description
- "Script type - currently supported - Scripts confirming to Rift CA plugin";
- type enumeration {
- enum rift;
- }
- }
- }
+ "Name of the required relation.";
+ type string;
}
- case juju {
+ leaf provides {
description
- "Configure the VNF through Juju.";
- container juju {
- leaf charm {
- description "Juju charm to use with the VNF.";
- type string;
+ "Name of the provided relation.";
+ type string;
+ }
+ }
+ }
+ }
+
+ grouping vca-configuration {
+ description
+ "Information about the VNF or VDU configuration. Note:
+ If the NS contains multiple instances of the
+ same VNF or VDU, each instance could have a different
+ configuration.";
+
+ choice config-method {
+ description
+ "Defines the configuration method for the VNF or VDU.";
+ case script {
+ description
+ "Use custom script for configuring the VNF or VDU.
+ This script is executed in the context of
+ Orchestrator (The same system and environment
+ as the Launchpad).";
+ container script {
+ leaf script-type {
+ description
+ "Script type - currently supported - Scripts confirming to Rift CA plugin";
+ type enumeration {
+ enum rift;
}
}
}
}
- list config-primitive {
+ case juju {
description
- "List of config primitives supported by the
- configuration agent for this VNF.";
- key "name";
-
- leaf name {
- description
- "Name of the config primitive.";
- type string;
+ "Configure the VNF or VDU through Juju.";
+ container juju {
+ leaf charm {
+ description "Juju charm to use with the VNF or VDU.";
+ type string;
+ }
+ uses manotypes:vca-relationships;
}
+ }
+ }
- list parameter {
- description
- "List of parameters to the config primitive.";
- key "name";
- uses primitive-parameter;
- }
+ list config-primitive {
+ description
+ "List of config primitives supported by the
+ configuration agent for this VNF or VDU.";
+ key "name";
- leaf user-defined-script {
- description
- "A user defined script. If user defined script is defined,
- the script will be executed using bash";
- type string;
- }
+ leaf name {
+ description
+ "Name of the config primitive.";
+ type string;
}
- list initial-config-primitive {
+ list parameter {
description
- "Initial set of configuration primitives.";
- key "seq";
- leaf seq {
- description
- "Sequence number for the configuration primitive.";
- type uint64;
- }
+ "List of parameters to the config primitive.";
+ key "name";
+ uses primitive-parameter;
+ }
- choice primitive-type {
- case primitive-definition {
- leaf name {
- description
- "Name of the configuration primitive.";
- type string;
- }
+ leaf user-defined-script {
+ description
+ "A user defined script. If user defined script is defined,
+ the script will be executed using bash";
+ type string;
+ }
+ }
- uses primitive-parameter-value;
+ list initial-config-primitive {
+ description
+ "Initial set of configuration primitives.";
+ key "seq";
+ leaf seq {
+ description
+ "Sequence number for the configuration primitive.";
+ type uint64;
+ }
- leaf user-defined-script {
- description
- "A user defined script.";
- type string;
- }
+ choice primitive-type {
+ case primitive-definition {
+ leaf name {
+ description
+ "Name of the configuration primitive.";
+ type string;
+ }
+
+ uses primitive-parameter-value;
+
+ leaf user-defined-script {
+ description
+ "A user defined script.";
+ type string;
}
}
}
}
- } // END - grouping vnf-configuration
+ } // END - grouping vca-configuration
typedef virtual-link-type {
description
"Type of virtual link
ELAN: A multipoint service connecting a set of VNFs
- // ELINE: For a simple point to point connection
+ ELINE: For a simple point to point connection
// between a VNF and the existing network.
// ETREE: A multipoint service connecting one or
// more roots and a set of leaves, but
// preventing inter-leaf communication.";
type enumeration {
enum ELAN;
+ enum ELINE;
// enum ETREE;
- // enum ELINE;
}
}
type string;
}
- leaf overlay-type {
- description
- "Type of the overlay network.
- LOCAL - Provider network implemented in a single compute node
- FLAT - Provider network shared by all tenants
- VLAN - Provider network implemented using 802.1Q tagging
- VXLAN - Provider networks implemented using RFC 7348
- GRE - Provider networks implemented using GRE tunnels
- PORTGROUP - Provider networks implemented for VIO support";
- type enumeration {
- enum LOCAL;
- enum FLAT;
- enum VLAN;
- enum VXLAN;
- enum GRE;
- enum PORTGROUP;
- }
- }
leaf segmentation_id {
description
"ID of segregated virtual networks";