lib/ionoscloud/models/image_properties.rb in ionoscloud-5.1.1 vs lib/ionoscloud/models/image_properties.rb in ionoscloud-5.1.2

- old
+ new

@@ -13,64 +13,83 @@ require 'date' require 'time' module Ionoscloud class ImageProperties + # A name of that resource attr_accessor :name + # Human readable description attr_accessor :description + # Location of that image/snapshot. attr_accessor :location + # The size of the image in GB attr_accessor :size + # Is capable of CPU hot plug (no reboot required) attr_accessor :cpu_hot_plug + # Is capable of CPU hot unplug (no reboot required) attr_accessor :cpu_hot_unplug + # Is capable of memory hot plug (no reboot required) attr_accessor :ram_hot_plug + # Is capable of memory hot unplug (no reboot required) attr_accessor :ram_hot_unplug + # Is capable of nic hot plug (no reboot required) attr_accessor :nic_hot_plug + # Is capable of nic hot unplug (no reboot required) attr_accessor :nic_hot_unplug + # Is capable of Virt-IO drive hot plug (no reboot required) attr_accessor :disc_virtio_hot_plug + # Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines. attr_accessor :disc_virtio_hot_unplug + # Is capable of SCSI drive hot plug (no reboot required) attr_accessor :disc_scsi_hot_plug + # Is capable of SCSI drive hot unplug (no reboot required). This works only for non-Windows virtual Machines. attr_accessor :disc_scsi_hot_unplug + # OS type of this Image attr_accessor :licence_type + # This indicates the type of image attr_accessor :image_type + # Indicates if the image is part of the public repository or not attr_accessor :public + # List of image aliases mapped for this Image attr_accessor :image_aliases + # Cloud init compatibility attr_accessor :cloud_init class EnumAttributeValidator attr_reader :datatype @@ -95,28 +114,47 @@ end # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'name' => :'name', + :'description' => :'description', + :'location' => :'location', + :'size' => :'size', + :'cpu_hot_plug' => :'cpuHotPlug', + :'cpu_hot_unplug' => :'cpuHotUnplug', + :'ram_hot_plug' => :'ramHotPlug', + :'ram_hot_unplug' => :'ramHotUnplug', + :'nic_hot_plug' => :'nicHotPlug', + :'nic_hot_unplug' => :'nicHotUnplug', + :'disc_virtio_hot_plug' => :'discVirtioHotPlug', + :'disc_virtio_hot_unplug' => :'discVirtioHotUnplug', + :'disc_scsi_hot_plug' => :'discScsiHotPlug', + :'disc_scsi_hot_unplug' => :'discScsiHotUnplug', + :'licence_type' => :'licenceType', + :'image_type' => :'imageType', + :'public' => :'public', + :'image_aliases' => :'imageAliases', + :'cloud_init' => :'cloudInit' } end # Returns all the JSON keys this model knows about @@ -125,35 +163,73 @@ end # Attribute type mapping. def self.openapi_types { + :'name' => :'String', + :'description' => :'String', + :'location' => :'String', + :'size' => :'Float', + :'cpu_hot_plug' => :'Boolean', + :'cpu_hot_unplug' => :'Boolean', + :'ram_hot_plug' => :'Boolean', + :'ram_hot_unplug' => :'Boolean', + :'nic_hot_plug' => :'Boolean', + :'nic_hot_unplug' => :'Boolean', + :'disc_virtio_hot_plug' => :'Boolean', + :'disc_virtio_hot_unplug' => :'Boolean', + :'disc_scsi_hot_plug' => :'Boolean', + :'disc_scsi_hot_unplug' => :'Boolean', + :'licence_type' => :'String', + :'image_type' => :'String', + :'public' => :'Boolean', + :'image_aliases' => :'Array<String>', + :'cloud_init' => :'String' } end # List of attributes with nullable: true def self.openapi_nullable Set.new([ + + + + + + + + + + + + + + + + + + + ]) end # Initializes the object # @param [Hash] attributes Model attributes in the form of hash @@ -167,134 +243,208 @@ if (!self.class.attribute_map.key?(k.to_sym)) fail ArgumentError, "`#{k}` is not a valid attribute in `Ionoscloud::ImageProperties`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } + if attributes.key?(:'name') self.name = attributes[:'name'] end + if attributes.key?(:'description') self.description = attributes[:'description'] end + if attributes.key?(:'location') self.location = attributes[:'location'] end + if attributes.key?(:'size') self.size = attributes[:'size'] end + if attributes.key?(:'cpu_hot_plug') self.cpu_hot_plug = attributes[:'cpu_hot_plug'] end + if attributes.key?(:'cpu_hot_unplug') self.cpu_hot_unplug = attributes[:'cpu_hot_unplug'] end + if attributes.key?(:'ram_hot_plug') self.ram_hot_plug = attributes[:'ram_hot_plug'] end + if attributes.key?(:'ram_hot_unplug') self.ram_hot_unplug = attributes[:'ram_hot_unplug'] end + if attributes.key?(:'nic_hot_plug') self.nic_hot_plug = attributes[:'nic_hot_plug'] end + if attributes.key?(:'nic_hot_unplug') self.nic_hot_unplug = attributes[:'nic_hot_unplug'] end + if attributes.key?(:'disc_virtio_hot_plug') self.disc_virtio_hot_plug = attributes[:'disc_virtio_hot_plug'] end + if attributes.key?(:'disc_virtio_hot_unplug') self.disc_virtio_hot_unplug = attributes[:'disc_virtio_hot_unplug'] end + if attributes.key?(:'disc_scsi_hot_plug') self.disc_scsi_hot_plug = attributes[:'disc_scsi_hot_plug'] end + if attributes.key?(:'disc_scsi_hot_unplug') self.disc_scsi_hot_unplug = attributes[:'disc_scsi_hot_unplug'] end + if attributes.key?(:'licence_type') self.licence_type = attributes[:'licence_type'] end + if attributes.key?(:'image_type') self.image_type = attributes[:'image_type'] end + if attributes.key?(:'public') self.public = attributes[:'public'] end - if attributes.key?(:'image_aliases') - if (value = attributes[:'image_aliases']).is_a?(Array) - self.image_aliases = value - end + + if attributes.key?(:'image_aliases') && (value = attributes[:'image_aliases']).is_a?(Array) + self.image_aliases = value end + if attributes.key?(:'cloud_init') self.cloud_init = attributes[:'cloud_init'] end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + + + + + + + + + + + + + + + if @licence_type.nil? invalid_properties.push('invalid value for "licence_type", licence_type cannot be nil.') end + + + + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + + + + + + + + + + + + + + + return false if @licence_type.nil? licence_type_validator = EnumAttributeValidator.new('String', ["UNKNOWN", "WINDOWS", "WINDOWS2016", "LINUX", "OTHER"]) return false unless licence_type_validator.valid?(@licence_type) + image_type_validator = EnumAttributeValidator.new('String', ["HDD", "CDROM", "UNKNOWN"]) return false unless image_type_validator.valid?(@image_type) + + + cloud_init_validator = EnumAttributeValidator.new('String', ["NONE", "V1"]) return false unless cloud_init_validator.valid?(@cloud_init) true end + + + + + + + + + + + + + + + # Custom attribute writer method checking allowed values (enum). # @param [Object] licence_type Object to be assigned def licence_type=(licence_type) validator = EnumAttributeValidator.new('String', ["UNKNOWN", "WINDOWS", "WINDOWS2016", "LINUX", "OTHER"]) unless validator.valid?(licence_type) fail ArgumentError, "invalid value for \"licence_type\", must be one of #{validator.allowable_values}." end @licence_type = licence_type end + # Custom attribute writer method checking allowed values (enum). # @param [Object] image_type Object to be assigned def image_type=(image_type) validator = EnumAttributeValidator.new('String', ["HDD", "CDROM", "UNKNOWN"]) unless validator.valid?(image_type) fail ArgumentError, "invalid value for \"image_type\", must be one of #{validator.allowable_values}." end @image_type = image_type end + + + # Custom attribute writer method checking allowed values (enum). # @param [Object] cloud_init Object to be assigned def cloud_init=(cloud_init) validator = EnumAttributeValidator.new('String', ["NONE", "V1"]) unless validator.valid?(cloud_init) @@ -306,28 +456,28 @@ # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) return true if self.equal?(o) self.class == o.class && - name == o.name && - description == o.description && - location == o.location && - size == o.size && - cpu_hot_plug == o.cpu_hot_plug && - cpu_hot_unplug == o.cpu_hot_unplug && - ram_hot_plug == o.ram_hot_plug && - ram_hot_unplug == o.ram_hot_unplug && - nic_hot_plug == o.nic_hot_plug && - nic_hot_unplug == o.nic_hot_unplug && - disc_virtio_hot_plug == o.disc_virtio_hot_plug && - disc_virtio_hot_unplug == o.disc_virtio_hot_unplug && - disc_scsi_hot_plug == o.disc_scsi_hot_plug && - disc_scsi_hot_unplug == o.disc_scsi_hot_unplug && - licence_type == o.licence_type && - image_type == o.image_type && - public == o.public && - image_aliases == o.image_aliases && - cloud_init == o.cloud_init + name == o.name && + description == o.description && + location == o.location && + size == o.size && + cpu_hot_plug == o.cpu_hot_plug && + cpu_hot_unplug == o.cpu_hot_unplug && + ram_hot_plug == o.ram_hot_plug && + ram_hot_unplug == o.ram_hot_unplug && + nic_hot_plug == o.nic_hot_plug && + nic_hot_unplug == o.nic_hot_unplug && + disc_virtio_hot_plug == o.disc_virtio_hot_plug && + disc_virtio_hot_unplug == o.disc_virtio_hot_unplug && + disc_scsi_hot_plug == o.disc_scsi_hot_plug && + disc_scsi_hot_unplug == o.disc_scsi_hot_unplug && + licence_type == o.licence_type && + image_type == o.image_type && + public == o.public && + image_aliases == o.image_aliases && + cloud_init == o.cloud_init end # @see the `==` method # @param [Object] Object to be compared def eql?(o)