X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fmano-types.yang;h=e042c449758569fcb22e1d149e8576cbfcb58ff5;hp=81022ad3ae6931bb184095456235d82e3227d635;hb=634a26ff7428df4008a178667c6f1ef06f5071c1;hpb=d6ccaf7e0a66331e9be1046642868f84e7184a31 diff --git a/models/yang/mano-types.yang b/models/yang/mano-types.yang index 81022ad..e042c44 100644 --- a/models/yang/mano-types.yang +++ b/models/yang/mano-types.yang @@ -27,10 +27,6 @@ module mano-types prefix "inet"; } - import rw-pb-ext { - prefix "rwpb"; - } - import rw-project { prefix "rw-project"; } @@ -82,6 +78,12 @@ module mano-types type string; } + leaf data-type { + description + "Data type associated with the value."; + type manotypes:parameter-data-type; + } + leaf value { description "Value associated with the name."; @@ -195,7 +197,7 @@ module mano-types } } } - + grouping image-properties { leaf image { description @@ -241,14 +243,21 @@ module mano-types } } - - grouping vca-configuration { + grouping vca-metrics { 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."; + "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 configuration-method { choice config-method { description "Defines the configuration method for the VNF or VDU."; @@ -277,70 +286,93 @@ module mano-types 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; - } } + } + } + grouping ns-configuration { + description + "Information about NS configuration. Note: + In the future this should be equivalent to vca-configuration + grouping."; - list service-primitive { - rwpb:msg-new ServicePrimitive; - description - "List of config primitives supported by the - configuration agent for this VNF or VDU."; - key "name"; + uses manotypes:configuration-method; + } - leaf name { - description - "Name of the config primitive."; - 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."; - list parameter { - description - "List of parameters to the config primitive."; - key "name"; - uses primitive-parameter; - } + uses manotypes:configuration-method; - 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 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; } - list initial-config-primitive { - rwpb:msg-new InitialConfigPrimitive; + 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; } } } } + + uses manotypes:vca-metrics; + } // END - grouping vca-configuration typedef virtual-link-type { @@ -626,6 +658,60 @@ module mano-types } } + 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 { @@ -648,12 +734,12 @@ module mano-types } } //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 { @@ -1074,7 +1160,7 @@ module mano-types leaf member-vnf-index-ref { description "Reference to member-vnf within constituent-vnfds"; - type uint64; + type string; } leaf vnfd-id-ref { @@ -1122,7 +1208,7 @@ module mano-types } } - grouping monitoring-param { + grouping http-endpoints { list http-endpoint { description "List of http endpoints to be used by monitoring params"; @@ -1183,52 +1269,16 @@ module mano-types } } } - - 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; @@ -1734,11 +1784,12 @@ module mano-types } } - 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 @@ -1833,7 +1884,7 @@ module mano-types "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 { @@ -1959,7 +2010,6 @@ module mano-types } list user { - rwpb:msg-new CloudConfigUser; key "name"; description "List of users to be added through cloud-config"; @@ -2125,7 +2175,7 @@ module mano-types grouping supplemental-boot-data { description "Grouping for custom vim data"; container supplemental-boot-data { - uses manotypes:config-file; +// uses manotypes:config-file; leaf boot-data-drive { description "Some VIMs implement additional drives to host config-files or meta-data"; type boolean;