X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fplugins%2Fyang%2Fmano-types.yang;h=9209dea9c0145594520d75d68553d208d9a9f7a3;hb=3f1ff0e426e6838e5b089805582dfd4a396e4b7e;hp=3c723f4c228bd4dd61c92b511eea19de24e87598;hpb=4e6cebcf2f15e9c9370d5af6b725629a70ac9b1a;p=osm%2FSO.git diff --git a/models/plugins/yang/mano-types.yang b/models/plugins/yang/mano-types.yang index 3c723f4c..9209dea9 100644 --- a/models/plugins/yang/mano-types.yang +++ b/models/plugins/yang/mano-types.yang @@ -40,6 +40,14 @@ module mano-types "Derived from earlier versions of base YANG files"; } + typedef package-type { + description "Type of descriptor being on-boarded"; + type enumeration { + enum NSD; + enum VNFD; + } + } + typedef parameter-data-type { type enumeration { enum STRING; @@ -112,6 +120,59 @@ 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 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 { rwpb:msg-new VnfConfiguration; @@ -260,30 +321,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 { @@ -717,10 +757,13 @@ module mano-types type uint64; } - leaf-list cpu-feature { - description - "List of CPU features."; - type cpu-feature-type; + list cpu-feature { + key "feature"; + description "List of CPU features."; + leaf feature { + description "CPU feature."; + type cpu-feature-type; + } } @@ -729,9 +772,13 @@ module mano-types type string; } - leaf-list om-cpu-feature { - description "Openmano CPU features"; - type string; + list om-cpu-feature { + key "feature"; + description "List of openmano CPU features"; + leaf feature { + description "CPU feature"; + type string; + } } } } @@ -822,8 +869,8 @@ module mano-types } choice numa-policy { - case numa-unware { - leaf numa-unware { + case numa-unaware { + leaf numa-unaware { type empty; } } @@ -873,11 +920,16 @@ module mano-types type uint64; } - leaf-list vcpu { + list vcpu { + key "id"; description "List of vcpus to allocate on this numa node."; - type uint64; + leaf id { + type uint64; + description "List of vcpus ids to allocate on + this numa node"; + } } leaf memory-mb { @@ -1990,5 +2042,88 @@ module mano-types uses ip-profile-info; } } - + + grouping config-file { + description "Grouping for files needed to be mounted into an additional drive"; + list config-file { + 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 supplemental-boot-data { + description "Grouping for custom vim data"; + container supplemental-boot-data { + uses manotypes:config-file; + leaf boot-data-drive { + description "Some VIMs implement additional drives to host config-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; + } + + } + + 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; + } + } + + } }