class OvirtSDK4::Template
Public Class Methods
Creates a new instance of the {Template} class.
@param opts [Hash] A hash containing the attributes of the object. The keys of the hash
should be symbols corresponding to the names of the attributes. The values of the hash should be the values of the attributes.
@option opts [Bios, Hash] :bios The value of attribute `bios`.
@option opts [Cluster, Hash] :cluster The value of attribute `cluster`.
@option opts [String] :comment The value of attribute `comment`.
@option opts [Console, Hash] :console The value of attribute `console`.
@option opts [Cpu, Hash] :cpu The value of attribute `cpu`.
@option opts [CpuProfile, Hash] :cpu_profile The value of attribute `cpu_profile`.
@option opts [Integer] :cpu_shares The value of attribute `cpu_shares`.
@option opts [DateTime] :creation_time The value of attribute `creation_time`.
@option opts [Version, Hash] :custom_compatibility_version The value of attribute `custom_compatibility_version`.
@option opts [String] :custom_cpu_model The value of attribute `custom_cpu_model`.
@option opts [String] :custom_emulated_machine The value of attribute `custom_emulated_machine`.
@option opts [Array<CustomProperty>, Array<Hash>] :custom_properties The values of attribute `custom_properties`.
@option opts [Boolean] :delete_protected The value of attribute `delete_protected`.
@option opts [String] :description The value of attribute `description`.
@option opts [Display, Hash] :display The value of attribute `display`.
@option opts [Domain, Hash] :domain The value of attribute `domain`.
@option opts [HighAvailability, Hash] :high_availability The value of attribute `high_availability`.
@option opts [String] :id The value of attribute `id`.
@option opts [Initialization, Hash] :initialization The value of attribute `initialization`.
@option opts [Io, Hash] :io The value of attribute `io`.
@option opts [Icon, Hash] :large_icon The value of attribute `large_icon`.
@option opts [Integer] :memory The value of attribute `memory`.
@option opts [MemoryPolicy, Hash] :memory_policy The value of attribute `memory_policy`.
@option opts [MigrationOptions, Hash] :migration The value of attribute `migration`.
@option opts [Integer] :migration_downtime The value of attribute `migration_downtime`.
@option opts [String] :name The value of attribute `name`.
@option opts [String] :origin The value of attribute `origin`.
@option opts [OperatingSystem, Hash] :os The value of attribute `os`.
@option opts [RngDevice, Hash] :rng_device The value of attribute `rng_device`.
@option opts [SerialNumber, Hash] :serial_number The value of attribute `serial_number`.
@option opts [Icon, Hash] :small_icon The value of attribute `small_icon`.
@option opts [Boolean] :soundcard_enabled The value of attribute `soundcard_enabled`.
@option opts [Sso, Hash] :sso The value of attribute `sso`.
@option opts [Boolean] :start_paused The value of attribute `start_paused`.
@option opts [Boolean] :stateless The value of attribute `stateless`.
@option opts [TemplateStatus] :status The value of attribute `status`.
@option opts [StorageDomain, Hash] :storage_domain The value of attribute `storage_domain`.
@option opts [TimeZone, Hash] :time_zone The value of attribute `time_zone`.
@option opts [Boolean] :tunnel_migration The value of attribute `tunnel_migration`.
@option opts [VmType] :type The value of attribute `type`.
@option opts [Usb, Hash] :usb The value of attribute `usb`.
@option opts [TemplateVersion, Hash] :version The value of attribute `version`.
@option opts [VirtioScsi, Hash] :virtio_scsi The value of attribute `virtio_scsi`.
@option opts [Vm, Hash] :vm The value of attribute `vm`.
# File lib/ovirtsdk4/types.rb, line 35503 def initialize(opts = {}) super(opts) self.bios = opts[:bios] self.cluster = opts[:cluster] self.comment = opts[:comment] self.console = opts[:console] self.cpu = opts[:cpu] self.cpu_profile = opts[:cpu_profile] self.cpu_shares = opts[:cpu_shares] self.creation_time = opts[:creation_time] self.custom_compatibility_version = opts[:custom_compatibility_version] self.custom_cpu_model = opts[:custom_cpu_model] self.custom_emulated_machine = opts[:custom_emulated_machine] self.custom_properties = opts[:custom_properties] self.delete_protected = opts[:delete_protected] self.description = opts[:description] self.display = opts[:display] self.domain = opts[:domain] self.high_availability = opts[:high_availability] self.id = opts[:id] self.initialization = opts[:initialization] self.io = opts[:io] self.large_icon = opts[:large_icon] self.memory = opts[:memory] self.memory_policy = opts[:memory_policy] self.migration = opts[:migration] self.migration_downtime = opts[:migration_downtime] self.name = opts[:name] self.origin = opts[:origin] self.os = opts[:os] self.rng_device = opts[:rng_device] self.serial_number = opts[:serial_number] self.small_icon = opts[:small_icon] self.soundcard_enabled = opts[:soundcard_enabled] self.sso = opts[:sso] self.start_paused = opts[:start_paused] self.stateless = opts[:stateless] self.status = opts[:status] self.storage_domain = opts[:storage_domain] self.time_zone = opts[:time_zone] self.tunnel_migration = opts[:tunnel_migration] self.type = opts[:type] self.usb = opts[:usb] self.version = opts[:version] self.virtio_scsi = opts[:virtio_scsi] self.vm = opts[:vm] end
Public Instance Methods
Returns the value of the `bios` attribute.
@return [Bios]
# File lib/ovirtsdk4/types.rb, line 34438 def bios return @bios end
Sets the value of the `bios` attribute.
@param value [Bios, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Bios} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34451 def bios=(value) if value.is_a?(Hash) value = Bios.new(value) end @bios = value end
Returns the value of the `cluster` attribute.
@return [Cluster]
# File lib/ovirtsdk4/types.rb, line 34463 def cluster return @cluster end
Sets the value of the `cluster` attribute.
@param value [Cluster, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Cluster} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34476 def cluster=(value) if value.is_a?(Hash) value = Cluster.new(value) end @cluster = value end
Returns the value of the `comment` attribute.
@return [String]
# File lib/ovirtsdk4/types.rb, line 34488 def comment return @comment end
Sets the value of the `comment` attribute.
@param value [String]
# File lib/ovirtsdk4/types.rb, line 34497 def comment=(value) @comment = value end
Returns the value of the `console` attribute.
@return [Console]
# File lib/ovirtsdk4/types.rb, line 34506 def console return @console end
Sets the value of the `console` attribute.
@param value [Console, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Console} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34519 def console=(value) if value.is_a?(Hash) value = Console.new(value) end @console = value end
Returns the value of the `cpu` attribute.
@return [Cpu]
# File lib/ovirtsdk4/types.rb, line 34531 def cpu return @cpu end
Sets the value of the `cpu` attribute.
@param value [Cpu, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Cpu} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34544 def cpu=(value) if value.is_a?(Hash) value = Cpu.new(value) end @cpu = value end
Returns the value of the `cpu_profile` attribute.
@return [CpuProfile]
# File lib/ovirtsdk4/types.rb, line 34556 def cpu_profile return @cpu_profile end
Sets the value of the `cpu_profile` attribute.
@param value [CpuProfile, Hash]
The `value` parameter can be an instance of {OvirtSDK4::CpuProfile} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34569 def cpu_profile=(value) if value.is_a?(Hash) value = CpuProfile.new(value) end @cpu_profile = value end
Returns the value of the `creation_time` attribute.
@return [DateTime]
# File lib/ovirtsdk4/types.rb, line 34599 def creation_time return @creation_time end
Sets the value of the `creation_time` attribute.
@param value [DateTime]
# File lib/ovirtsdk4/types.rb, line 34608 def creation_time=(value) @creation_time = value end
Returns the value of the `custom_compatibility_version` attribute.
@return [Version]
# File lib/ovirtsdk4/types.rb, line 34617 def custom_compatibility_version return @custom_compatibility_version end
Sets the value of the `custom_compatibility_version` attribute.
@param value [Version, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Version} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34630 def custom_compatibility_version=(value) if value.is_a?(Hash) value = Version.new(value) end @custom_compatibility_version = value end
Returns the value of the `custom_cpu_model` attribute.
@return [String]
# File lib/ovirtsdk4/types.rb, line 34642 def custom_cpu_model return @custom_cpu_model end
Sets the value of the `custom_cpu_model` attribute.
@param value [String]
# File lib/ovirtsdk4/types.rb, line 34651 def custom_cpu_model=(value) @custom_cpu_model = value end
Returns the value of the `custom_emulated_machine` attribute.
@return [String]
# File lib/ovirtsdk4/types.rb, line 34660 def custom_emulated_machine return @custom_emulated_machine end
Sets the value of the `custom_emulated_machine` attribute.
@param value [String]
# File lib/ovirtsdk4/types.rb, line 34669 def custom_emulated_machine=(value) @custom_emulated_machine = value end
Returns the value of the `custom_properties` attribute.
@return [Array<CustomProperty>]
# File lib/ovirtsdk4/types.rb, line 34678 def custom_properties return @custom_properties end
Sets the value of the `custom_properties` attribute.
@param list [Array<CustomProperty>]
# File lib/ovirtsdk4/types.rb, line 34686 def custom_properties=(list) if list.class == Array list = List.new(list) list.each_with_index do |value, index| if value.is_a?(Hash) list[index] = CustomProperty.new(value) end end end @custom_properties = list end
Returns the value of the `delete_protected` attribute.
@return [Boolean]
# File lib/ovirtsdk4/types.rb, line 34703 def delete_protected return @delete_protected end
Sets the value of the `delete_protected` attribute.
@param value [Boolean]
# File lib/ovirtsdk4/types.rb, line 34712 def delete_protected=(value) @delete_protected = value end
Returns the value of the `description` attribute.
@return [String]
# File lib/ovirtsdk4/types.rb, line 34721 def description return @description end
Sets the value of the `description` attribute.
@param value [String]
# File lib/ovirtsdk4/types.rb, line 34730 def description=(value) @description = value end
Returns the value of the `display` attribute.
@return [Display]
# File lib/ovirtsdk4/types.rb, line 34739 def display return @display end
Sets the value of the `display` attribute.
@param value [Display, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Display} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34752 def display=(value) if value.is_a?(Hash) value = Display.new(value) end @display = value end
Returns the value of the `domain` attribute.
@return [Domain]
# File lib/ovirtsdk4/types.rb, line 34764 def domain return @domain end
Sets the value of the `domain` attribute.
@param value [Domain, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Domain} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34777 def domain=(value) if value.is_a?(Hash) value = Domain.new(value) end @domain = value end
Returns the value of the `high_availability` attribute.
@return [HighAvailability]
# File lib/ovirtsdk4/types.rb, line 34789 def high_availability return @high_availability end
Sets the value of the `high_availability` attribute.
@param value [HighAvailability, Hash]
The `value` parameter can be an instance of {OvirtSDK4::HighAvailability} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34802 def high_availability=(value) if value.is_a?(Hash) value = HighAvailability.new(value) end @high_availability = value end
Returns the value of the `id` attribute.
@return [String]
# File lib/ovirtsdk4/types.rb, line 34814 def id return @id end
Sets the value of the `id` attribute.
@param value [String]
# File lib/ovirtsdk4/types.rb, line 34823 def id=(value) @id = value end
Returns the value of the `initialization` attribute.
@return [Initialization]
# File lib/ovirtsdk4/types.rb, line 34832 def initialization return @initialization end
Sets the value of the `initialization` attribute.
@param value [Initialization, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Initialization} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34845 def initialization=(value) if value.is_a?(Hash) value = Initialization.new(value) end @initialization = value end
Returns the value of the `io` attribute.
@return [Io]
# File lib/ovirtsdk4/types.rb, line 34857 def io return @io end
Sets the value of the `io` attribute.
@param value [Io, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Io} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34870 def io=(value) if value.is_a?(Hash) value = Io.new(value) end @io = value end
Returns the value of the `large_icon` attribute.
@return [Icon]
# File lib/ovirtsdk4/types.rb, line 34882 def large_icon return @large_icon end
Sets the value of the `large_icon` attribute.
@param value [Icon, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Icon} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34895 def large_icon=(value) if value.is_a?(Hash) value = Icon.new(value) end @large_icon = value end
Returns the value of the `memory` attribute.
@return [Integer]
# File lib/ovirtsdk4/types.rb, line 34907 def memory return @memory end
Sets the value of the `memory` attribute.
@param value [Integer]
# File lib/ovirtsdk4/types.rb, line 34916 def memory=(value) @memory = value end
Returns the value of the `memory_policy` attribute.
@return [MemoryPolicy]
# File lib/ovirtsdk4/types.rb, line 34925 def memory_policy return @memory_policy end
Sets the value of the `memory_policy` attribute.
@param value [MemoryPolicy, Hash]
The `value` parameter can be an instance of {OvirtSDK4::MemoryPolicy} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34938 def memory_policy=(value) if value.is_a?(Hash) value = MemoryPolicy.new(value) end @memory_policy = value end
Returns the value of the `migration` attribute.
@return [MigrationOptions]
# File lib/ovirtsdk4/types.rb, line 34950 def migration return @migration end
Sets the value of the `migration` attribute.
@param value [MigrationOptions, Hash]
The `value` parameter can be an instance of {OvirtSDK4::MigrationOptions} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 34963 def migration=(value) if value.is_a?(Hash) value = MigrationOptions.new(value) end @migration = value end
Returns the value of the `migration_downtime` attribute.
@return [Integer]
# File lib/ovirtsdk4/types.rb, line 34975 def migration_downtime return @migration_downtime end
Sets the value of the `migration_downtime` attribute.
@param value [Integer]
# File lib/ovirtsdk4/types.rb, line 34984 def migration_downtime=(value) @migration_downtime = value end
Returns the value of the `name` attribute.
@return [String]
# File lib/ovirtsdk4/types.rb, line 34993 def name return @name end
Sets the value of the `name` attribute.
@param value [String]
# File lib/ovirtsdk4/types.rb, line 35002 def name=(value) @name = value end
Returns the value of the `origin` attribute.
@return [String]
# File lib/ovirtsdk4/types.rb, line 35011 def origin return @origin end
Sets the value of the `origin` attribute.
@param value [String]
# File lib/ovirtsdk4/types.rb, line 35020 def origin=(value) @origin = value end
Returns the value of the `os` attribute.
@return [OperatingSystem]
# File lib/ovirtsdk4/types.rb, line 35029 def os return @os end
Sets the value of the `os` attribute.
@param value [OperatingSystem, Hash]
The `value` parameter can be an instance of {OvirtSDK4::OperatingSystem} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35042 def os=(value) if value.is_a?(Hash) value = OperatingSystem.new(value) end @os = value end
Returns the value of the `rng_device` attribute.
@return [RngDevice]
# File lib/ovirtsdk4/types.rb, line 35054 def rng_device return @rng_device end
Sets the value of the `rng_device` attribute.
@param value [RngDevice, Hash]
The `value` parameter can be an instance of {OvirtSDK4::RngDevice} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35067 def rng_device=(value) if value.is_a?(Hash) value = RngDevice.new(value) end @rng_device = value end
Returns the value of the `serial_number` attribute.
@return [SerialNumber]
# File lib/ovirtsdk4/types.rb, line 35079 def serial_number return @serial_number end
Sets the value of the `serial_number` attribute.
@param value [SerialNumber, Hash]
The `value` parameter can be an instance of {OvirtSDK4::SerialNumber} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35092 def serial_number=(value) if value.is_a?(Hash) value = SerialNumber.new(value) end @serial_number = value end
Returns the value of the `small_icon` attribute.
@return [Icon]
# File lib/ovirtsdk4/types.rb, line 35104 def small_icon return @small_icon end
Sets the value of the `small_icon` attribute.
@param value [Icon, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Icon} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35117 def small_icon=(value) if value.is_a?(Hash) value = Icon.new(value) end @small_icon = value end
Returns the value of the `soundcard_enabled` attribute.
@return [Boolean]
# File lib/ovirtsdk4/types.rb, line 35129 def soundcard_enabled return @soundcard_enabled end
Sets the value of the `soundcard_enabled` attribute.
@param value [Boolean]
# File lib/ovirtsdk4/types.rb, line 35138 def soundcard_enabled=(value) @soundcard_enabled = value end
Returns the value of the `sso` attribute.
@return [Sso]
# File lib/ovirtsdk4/types.rb, line 35147 def sso return @sso end
Sets the value of the `sso` attribute.
@param value [Sso, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Sso} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35160 def sso=(value) if value.is_a?(Hash) value = Sso.new(value) end @sso = value end
Returns the value of the `start_paused` attribute.
@return [Boolean]
# File lib/ovirtsdk4/types.rb, line 35172 def start_paused return @start_paused end
Sets the value of the `start_paused` attribute.
@param value [Boolean]
# File lib/ovirtsdk4/types.rb, line 35181 def start_paused=(value) @start_paused = value end
Returns the value of the `stateless` attribute.
@return [Boolean]
# File lib/ovirtsdk4/types.rb, line 35190 def stateless return @stateless end
Sets the value of the `stateless` attribute.
@param value [Boolean]
# File lib/ovirtsdk4/types.rb, line 35199 def stateless=(value) @stateless = value end
Returns the value of the `status` attribute.
@return [TemplateStatus]
# File lib/ovirtsdk4/types.rb, line 35208 def status return @status end
Sets the value of the `status` attribute.
@param value [TemplateStatus]
# File lib/ovirtsdk4/types.rb, line 35217 def status=(value) @status = value end
Returns the value of the `storage_domain` attribute.
@return [StorageDomain]
# File lib/ovirtsdk4/types.rb, line 35226 def storage_domain return @storage_domain end
Sets the value of the `storage_domain` attribute.
@param value [StorageDomain, Hash]
The `value` parameter can be an instance of {OvirtSDK4::StorageDomain} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35239 def storage_domain=(value) if value.is_a?(Hash) value = StorageDomain.new(value) end @storage_domain = value end
Returns the value of the `time_zone` attribute.
@return [TimeZone]
# File lib/ovirtsdk4/types.rb, line 35251 def time_zone return @time_zone end
Sets the value of the `time_zone` attribute.
@param value [TimeZone, Hash]
The `value` parameter can be an instance of {OvirtSDK4::TimeZone} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35264 def time_zone=(value) if value.is_a?(Hash) value = TimeZone.new(value) end @time_zone = value end
Returns the value of the `tunnel_migration` attribute.
@return [Boolean]
# File lib/ovirtsdk4/types.rb, line 35276 def tunnel_migration return @tunnel_migration end
Sets the value of the `tunnel_migration` attribute.
@param value [Boolean]
# File lib/ovirtsdk4/types.rb, line 35285 def tunnel_migration=(value) @tunnel_migration = value end
Returns the value of the `type` attribute.
@return [VmType]
# File lib/ovirtsdk4/types.rb, line 35294 def type return @type end
Sets the value of the `type` attribute.
@param value [VmType]
# File lib/ovirtsdk4/types.rb, line 35303 def type=(value) @type = value end
Returns the value of the `usb` attribute.
@return [Usb]
# File lib/ovirtsdk4/types.rb, line 35312 def usb return @usb end
Sets the value of the `usb` attribute.
@param value [Usb, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Usb} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35325 def usb=(value) if value.is_a?(Hash) value = Usb.new(value) end @usb = value end
Returns the value of the `version` attribute.
@return [TemplateVersion]
# File lib/ovirtsdk4/types.rb, line 35337 def version return @version end
Sets the value of the `version` attribute.
@param value [TemplateVersion, Hash]
The `value` parameter can be an instance of {OvirtSDK4::TemplateVersion} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35350 def version=(value) if value.is_a?(Hash) value = TemplateVersion.new(value) end @version = value end
Returns the value of the `virtio_scsi` attribute.
@return [VirtioScsi]
# File lib/ovirtsdk4/types.rb, line 35362 def virtio_scsi return @virtio_scsi end
Sets the value of the `virtio_scsi` attribute.
@param value [VirtioScsi, Hash]
The `value` parameter can be an instance of {OvirtSDK4::VirtioScsi} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35375 def virtio_scsi=(value) if value.is_a?(Hash) value = VirtioScsi.new(value) end @virtio_scsi = value end
Returns the value of the `vm` attribute.
@return [Vm]
# File lib/ovirtsdk4/types.rb, line 35387 def vm return @vm end
Sets the value of the `vm` attribute.
@param value [Vm, Hash]
The `value` parameter can be an instance of {OvirtSDK4::Vm} or a hash. If it is a hash then a new instance will be created passing the hash as the `opts` parameter to the constructor.
# File lib/ovirtsdk4/types.rb, line 35400 def vm=(value) if value.is_a?(Hash) value = Vm.new(value) end @vm = value end