prefix "inet";
}
- import rw-pb-ext {
- prefix "rwpb";
- }
-
import rw-project {
prefix "rw-project";
}
}
}
}
-
+
grouping image-properties {
leaf image {
description
}
}
+ grouping vca-metrics {
+ description
+ "Information about the VNF or VDU metrics";
+ list metrics {
+ description "List of VCA related metrics";
+ key "name";
+ leaf name {
+ description
+ "Name of the metric, as defined in the Juju charm.";
+ type string;
+ }
+ }
+ } // END - grouping vca-metrics
grouping vca-configuration {
description
description "Juju charm to use with the VNF or VDU.";
type string;
}
+ leaf proxy {
+ description "Is this a proxy charm?";
+ type boolean;
+ default true;
+ }
uses manotypes:vca-relationships;
-
}
}
+ }
+ list config-primitive {
+ description
+ "List of config primitives supported by the
+ configuration agent for this VNF or VDU.";
+ key "name";
- list service-primitive {
- rwpb:msg-new ServicePrimitive;
+ leaf name {
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;
- }
+ "Name of the config primitive.";
+ type string;
+ }
- list parameter {
- description
- "List of parameters to the config primitive.";
- key "name";
- uses primitive-parameter;
- }
+ 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;
- }
+ 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 {
- rwpb:msg-new InitialConfigPrimitive;
+ list initial-config-primitive {
+ description
+ "Initial set of configuration primitives.";
+ key "seq";
+ leaf seq {
description
- "Initial set of configuration primitives.";
- key "seq";
- leaf seq {
- description
- "Sequence number for the configuration primitive.";
- type uint64;
- }
+ "Sequence number for the configuration primitive.";
+ type uint64;
+ }
- choice primitive-type {
- case primitive-definition {
- leaf name {
- description
- "Name of the configuration primitive.";
- type string;
- }
+ choice primitive-type {
+ case primitive-definition {
+ leaf name {
+ description
+ "Name of the configuration primitive.";
+ type string;
+ }
- uses primitive-parameter-value;
+ uses primitive-parameter-value;
- leaf user-defined-script {
- description
- "A user defined script.";
- type string;
- }
+ leaf user-defined-script {
+ description
+ "A user defined script.";
+ type string;
}
}
}
}
+
+ uses manotypes:vca-metrics;
+
} // END - grouping vca-configuration
typedef virtual-link-type {
}
}
+ typedef nfvi-metric-type {
+ description "Type of NFVI metric to be monitored";
+ type enumeration {
+ enum cpu_utilization;
+ enum average_memory_utilization;
+ enum disk_read_ops;
+ enum disk_write_ops;
+ enum disk_read_bytes;
+ enum disk_write_bytes;
+ enum packets_sent;
+ enum packets_received;
+ enum packets_dropped;
+ }
+ }
+
+ typedef scaling-trigger {
+ type enumeration {
+ enum pre-scale-in {
+ value 1;
+ }
+ enum post-scale-in {
+ value 2;
+ }
+ enum pre-scale-out {
+ value 3;
+ }
+ enum post-scale-out {
+ value 4;
+ }
+ }
+ }
+
+ typedef scaling-policy-type {
+ type enumeration {
+ enum manual {
+ value 1;
+ }
+ enum automatic {
+ value 2;
+ }
+ }
+ }
+
+ typedef scaling-criteria-operation {
+ type enumeration {
+ enum AND {
+ value 1;
+ }
+ enum OR {
+ value 2;
+ }
+ }
+ }
+
grouping vm-flavor {
container vm-flavor {
leaf vcpu-count {
}
} //grouping vm-flavor
- grouping vm-flavor-name {
- leaf vm-flavor-name {
- description "flavor name to be used while creating vm using cloud account";
- type string;
- }
- }
+ grouping vm-flavor-name {
+ leaf vm-flavor-name {
+ description "flavor name to be used while creating vm using cloud account";
+ type string;
+ }
+ }
grouping vswitch-epa {
container vswitch-epa {
leaf member-vnf-index-ref {
description
"Reference to member-vnf within constituent-vnfds";
- type uint64;
+ type string;
}
leaf vnfd-id-ref {
}
}
- grouping monitoring-param {
+ grouping http-endpoints {
list http-endpoint {
description
"List of http endpoints to be used by monitoring params";
}
}
}
-
- list monitoring-param {
- description
- "List of monitoring parameters at the network service level";
- key id;
- leaf id {
- type string;
- }
-
- leaf name {
- type string;
- }
-
- leaf http-endpoint-ref {
- type leafref {
- path "../../http-endpoint/path";
- }
- }
-
- leaf json-query-method {
- type json-query-method;
- default "NAMEKEY";
- }
-
- container json-query-params {
- leaf json-path {
- description
- "The jsonpath to use to extract value from JSON structure";
- type string;
- }
- leaf object-path {
- description
- "The objectpath to use to extract value from JSON structure";
- type string;
- }
- }
-
- uses monitoring-param-ui-data;
- uses monitoring-param-value;
-
- }
}
grouping monitoring-param-aggregation {
typedef aggregation-type {
- description "aggregation-type";
+ description
+ "aggregation-type, indicates the way to aggregate monitoring-params
+ (e.g. how to aggregate CPU utilisation of all VNFs belonging to the
+ same VNF group identified by member-vnf-index; or how to aggregate
+ memory utilisation of all VDUs belonging to the same VDU group
+ identified by vdu id)";
type enumeration {
enum AVERAGE;
enum MINIMUM;
}
}
- typedef alarm-operation-type {
+ typedef relational-operation-type {
description
- "The relational operator used to define whether an alarm
- should be triggered in certain scenarios, such as if the
- metric statistic goes above or below a specified value.";
+ "The relational operator used to define whether an alarm,
+ scaling event, etc. should be triggered in certain scenarios,
+ such as if the metric statistic goes above or below a specified
+ value.";
type enumeration {
enum GE; // greater than or equal
enum LE; // less than or equal
"The relational operator used to define whether an alarm should be
triggered in certain scenarios, such as if the metric statistic
goes above or below a specified value.";
- type alarm-operation-type;
+ type relational-operation-type;
}
leaf value {
}
list user {
- rwpb:msg-new CloudConfigUser;
key "name";
description "List of users to be added through cloud-config";