X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=models%2Fplugins%2Fyang%2Fmano-types.yang;h=89fbca0158378d130383e3d5cc558ad02be26b8c;hb=f49375710db1acf3cd74c8651d098b7a08e8d0b2;hp=ec3d583fa022770ff91093deadac02cb9c8bbd92;hpb=66ed44eebbbe7bbc23d44780ae11e7feaa4b43ba;p=osm%2FSO.git diff --git a/models/plugins/yang/mano-types.yang b/models/plugins/yang/mano-types.yang index ec3d583f..89fbca01 100644 --- a/models/plugins/yang/mano-types.yang +++ b/models/plugins/yang/mano-types.yang @@ -1,7 +1,7 @@ /* * - * Copyright 2016 RIFT.IO Inc + * Copyright 2016-2017 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,6 +31,15 @@ module mano-types prefix "rwpb"; } + import rw-project { + prefix "rw-project"; + } + + revision 2017-02-08 { + description + "Update model to support projects."; + } + revision 2015-04-23 { description "Initial revision. This YANG file defines @@ -40,12 +49,13 @@ 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 { @@ -140,6 +150,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 { @@ -289,30 +330,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 { @@ -1180,9 +1200,11 @@ module mano-types } leaf http-endpoint-ref { - type leafref { - path "../../http-endpoint/path"; - } + // TODO (Philip): Fix this + // type leafref { + // path "../../http-endpoint/path"; + // } + type string; } leaf json-query-method { @@ -2032,9 +2054,9 @@ module mano-types } } - grouping custom-config-files { + grouping config-file { description "Grouping for files needed to be mounted into an additional drive"; - list custom-config-files { + list config-file { description "List of configuration files to be written on an additional drive"; key "source"; @@ -2049,37 +2071,12 @@ module mano-types } } - 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 { + grouping supplemental-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"; + 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; } @@ -2117,49 +2114,38 @@ module mano-types 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; + 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; } } - 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 { + 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; + grouping rpc-project-name { + leaf project-name { + mandatory true; + description + "Project to which this belongs"; + type leafref { + path "/rw-project:project/rw-project:name"; + } } } }