X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fplugins%2Fyang%2Fmano-types.yang;h=ec3d583fa022770ff91093deadac02cb9c8bbd92;hb=3558119e212cc1f5ffc5130118e38114fb80990d;hp=0a3b0440ef03b1eaf4c6b1c9e7b008a16e451a0d;hpb=28fc2b2f3cdd22504d5962ef0f095015e4c563e2;p=osm%2FSO.git diff --git a/models/plugins/yang/mano-types.yang b/models/plugins/yang/mano-types.yang index 0a3b0440..ec3d583f 100644 --- a/models/plugins/yang/mano-types.yang +++ b/models/plugins/yang/mano-types.yang @@ -40,6 +40,13 @@ module mano-types "Derived from earlier versions of base YANG files"; } + typedef meta-data-type { + type enumeration { + enum STRING; + enum JSON; + } + } + typedef parameter-data-type { type enumeration { enum STRING; @@ -112,6 +119,28 @@ module mano-types } + grouping image-properties { + leaf image { + description + "Image name for the software image. + If the image name is found within the VNF packaage it will + be uploaded to all cloud accounts during onboarding process. + Otherwise, the image must be added to the cloud account with + the same name as entered here. + "; + type string; + } + + leaf image-checksum { + description + "Image md5sum for the software image. + The md5sum, if provided, along with the image name uniquely + identifies an image uploaded to the CAL. + "; + type string; + } + } + grouping vnf-configuration { container vnf-configuration { rwpb:msg-new VnfConfiguration; @@ -2002,5 +2031,135 @@ module mano-types uses ip-profile-info; } } - + + 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"; + + leaf description { + description "Description for Volume"; + type string; + } + + leaf size { + description "Size of disk in GB"; + type uint64; + } + + choice volume-source { + description + "Defines the source of the volume. Possible options are + 1. Ephemeral -- Empty disk + 2. Image -- Refer to image to be used for volume + 3. Volume -- Reference of pre-existing volume to be used + "; + + case ephemeral { + leaf ephemeral { + type empty; + } + } + + case image { + uses image-properties; + } + + case volume { + leaf volume-ref { + description "Reference for pre-existing volume in VIM"; + type string; + } + } + } + + container boot-params { + leaf boot-volume { + description "This flag indicates if this is boot volume or not"; + type boolean; + } + leaf boot-priority { + description "Boot priority associated with volume"; + type int32; + } + } + + container guest-params { + description "Guest virtualization parameter associated with volume"; + + leaf device_bus { + description "Type of disk-bus on which this disk is exposed to guest"; + type enumeration { + enum ide; + enum usb; + enum virtio; + enum scsi; + } + } + + leaf device_type { + description "The type of device as exposed to guest"; + type enumeration { + enum disk; + enum cdrom; + enum floppy; + enum lun; + } + } + + uses custom-meta-data; + } + } }