X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fplugins%2Fyang%2Fmano-types.yang;h=b767ea6555a5b3f06e67b4c67e456bebc4222cbc;hb=6364d016e7f819903ff29a2ce160cb4cea61bf8f;hp=c3ea69883845794e755fb1ce47a237bb8760a919;hpb=4f049a22f4031d0e02c40eb63e17f263b4702c1a;p=osm%2FSO.git diff --git a/models/plugins/yang/mano-types.yang b/models/plugins/yang/mano-types.yang index c3ea6988..b767ea65 100644 --- a/models/plugins/yang/mano-types.yang +++ b/models/plugins/yang/mano-types.yang @@ -40,6 +40,20 @@ module mano-types "Derived from earlier versions of base YANG files"; } + typedef meta-data-type { + type enumeration { + enum STRING; + enum JSON; + } + } + typedef package-type { + description "Type of descriptor being on-boarded"; + type enumeration { + enum NSD; + enum VNFD; + } + } + typedef parameter-data-type { type enumeration { enum STRING; @@ -133,6 +147,37 @@ module mano-types type string; } } + grouping initial-config { + leaf seq { + description + "Sequence number for the configuration primitive."; + type uint64; + } + + leaf name { + description + "Name of the configuration primitive."; + type string; + mandatory "true"; + } + + leaf user-defined-script { + description + "A user defined script."; + type string; + } + + list parameter { + key "name"; + leaf name { + type string; + } + + leaf value { + type string; + } + } + } grouping vnf-configuration { container vnf-configuration { @@ -282,30 +327,9 @@ module mano-types list initial-config-primitive { rwpb:msg-new InitialConfigPrimitive; description - "Initial set of configuration primitives."; + "Initial set of configuration primitives."; key "seq"; - leaf seq { - description - "Sequence number for the configuration primitive."; - type uint64; - } - - leaf name { - description - "Name of the configuration primitive."; - type string; - } - - list parameter { - key "name"; - leaf name { - type string; - } - - leaf value { - type string; - } - } + uses initial-config; } leaf config-template { @@ -2025,6 +2049,60 @@ module mano-types } } + grouping custom-config-files { + description "Grouping for files needed to be mounted into an additional drive"; + list custom-config-files { + description + "List of configuration files to be written on an additional drive"; + key "source"; + leaf source { + description "Name of the configuration file"; + type string; + } + leaf dest { + description "Full path of the destination in the guest"; + type string; + } + } + } + + grouping custom-meta-data { + description "Grouping for instance-specific meta data"; + list custom-meta-data { + description + "List of meta-data to be associated with the instance"; + key "name"; + leaf name { + description "Name of the meta-data parameter"; + type string; + } + + leaf data-type { + description "Data-type the meta-data parameter"; + type manotypes:meta-data-type; + default "STRING"; + } + + leaf value { + description "Value of the meta-data parameter"; + type string; + } + } + } + + grouping custom-boot-data { + description "Grouping for custom vim data"; + container custom-boot-data { + uses manotypes:custom-config-files; + uses manotypes:custom-meta-data; + leaf custom-drive { + description "Some VIMs implement custom drives to host custom-files or meta-data"; + type boolean; + default false; + } + } + } + grouping volume-info { description "Grouping for Volume-info"; @@ -2097,6 +2175,8 @@ module mano-types enum lun; } } + + uses custom-meta-data; } } }