+ grouping vca-configuration {
+ description
+ "Common information in the descriptors for NS, VNF or VDU configuration.
+ Note: If the NS contains multiple instances of the
+ same VNF or VDU, each instance could have a different
+ configuration.";
+
+ uses manotypes:configuration-method;
+
+ list config-primitive {
+ description
+ "List of config primitives supported by the
+ configuration agent for this VNF or VDU.";
+ key "name";
+
+ leaf name {
+ description
+ "Name of the config primitive.";
+ type string;
+ }
+
+ leaf execution-environment-ref {
+ description
+ "Leaf reference to the particular execution environment";
+ type leafref {
+ path "../../execution-environment-list/id";
+ }
+ }
+
+ leaf execution-environment-primitive {
+ description
+ "Name of the primitive in the execution enviroment. If not explicit,
+ the leaf 'name' will be used as the name of the primitive.";
+ type string;
+ }
+
+ list parameter {
+ description
+ "List of parameters to the config primitive.";
+ key "name";
+ uses primitive-parameter;
+ }
+
+ leaf user-defined-script {
+ description
+ "A user defined script. If user defined script is defined,
+ the script will be executed using bash";
+ type string;
+ }
+ }
+
+ list initial-config-primitive {
+ description
+ "Initial set of configuration primitives.";
+ key "seq";
+ leaf seq {
+ description
+ "Sequence number for the configuration primitive.";
+ type uint64;
+ }
+
+ choice primitive-type {
+ case primitive-definition {
+ leaf name {
+ description
+ "Name of the configuration primitive in the execution environment.";
+ type string;
+ }
+
+ leaf execution-environment-ref {
+ description
+ "Leaf reference to the particular execution environment";
+ type leafref {
+ path "../../execution-environment-list/id";
+ }
+ }
+
+ uses primitive-parameter-value;
+
+ leaf user-defined-script {
+ description
+ "A user defined script.";
+ type string;
+ }