X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fmano-types.yang;h=eb38ec29529889c5b053fc939f144a0019f03103;hp=ada867dda14031858de3ec45153f77f39b1f7311;hb=refs%2Fchanges%2F33%2F9833%2F2;hpb=d13a7498b2a45f57be4b71a827ed426dcded55f3;ds=sidebyside diff --git a/models/yang/mano-types.yang b/models/yang/mano-types.yang index ada867d..eb38ec2 100644 --- a/models/yang/mano-types.yang +++ b/models/yang/mano-types.yang @@ -176,7 +176,7 @@ module mano-types description "Name of the configuration primitive."; type string; - mandatory "true"; + mandatory true; } leaf user-defined-script { @@ -268,6 +268,18 @@ module mano-types "Name of the metric, as defined in the Juju charm."; type string; } + leaf execution-environment-ref { + description + "Leaf reference to the particular execution environment getting that metric"; + type leafref { + path "../../execution-environment-list/id"; + } + } + leaf execution-environment-metric { + description + "Metric in the execution environment referenced by execution-environment-ref"; + type string; + } } } // END - grouping vca-metrics @@ -305,8 +317,100 @@ module mano-types type boolean; default true; } + leaf cloud { + description + "Type of cloud where the charm will be deployed. It only + applies to proxy charms (not native)"; + type enumeration { + enum lxd; + enum k8s; + } + default lxd; + } } } + + case execution-environment-list { + description + "List of Execution Environments to configure or monitor VNF or VDU."; + list execution-environment-list { + key "id"; + leaf id { + description "Execution environment identifier."; + type string; + } + choice execution-environment-model { + description "Execution environment model (juju, helm-chart)"; + case juju { + description + "Interact with the VNF or xDU through Juju."; + container juju { + leaf charm { + description "Juju charm to use with the VNF or VDU."; + type string; + } + leaf proxy { + description "Is this a proxy charm?"; + type boolean; + default true; + } + leaf cloud { + description + "Type of cloud where the charm will be deployed. It only + applies to proxy charms (not native)"; + type enumeration { + enum lxd; + enum k8s; + } + default lxd; + } + } + } + case helm-chart { + description + "Interact with the VNF or xDU through Helm."; + leaf helm-chart { + description + "Helm chart that models the execution environment, in any of the following ways: + - / + - + - + - + "; + type string; + } + leaf helm-version { + description + "Helm version to use for this helm-chart, v3 by default"; + type enumeration { + enum v2; + enum v3; + } + default v3; + } + } + } + leaf metric-service { + description + "Service name in the execution environment. For helm charts, it will be + the name of the kubernetes service used by the exporter to expose metrics + to the OSM collector. + "; + type string; + } + leaf connection-point-ref { + description + "String representing a leaf reference to the particular external connection point + This field should match /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id/vnfd:connection-point/vnfd:name + "; + type string; + // type leafref { + // path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:id/vnfd:connection-point/vnfd:name"; + // } + } + } + } + } } @@ -359,6 +463,21 @@ module mano-types 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."; @@ -388,10 +507,18 @@ module mano-types case primitive-definition { leaf name { description - "Name of the configuration primitive."; + "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 { @@ -414,10 +541,18 @@ module mano-types } leaf name { description - "Name of the configuration primitive."; + "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 { @@ -433,15 +568,17 @@ module mano-types 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 - // between a VNF and the existing network. + ELAN: A multipoint service connecting a set of elements + ELINE: A point-to-point service connecting two elements + L3: A service providing either Layer-3 visibility (IP) between + VDUs/VNFs or explicit interconnection between two ELAN VLDs."; // 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 L3; // enum ETREE; } }