Class: Azure::Compute::Mgmt::V2020_06_01::Models::VirtualMachine

Inherits:
Resource
  • Object
show all
Includes:
MsRestAzure
Defined in:
lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb

Overview

Describes a Virtual Machine.

Instance Attribute Summary collapse

Attributes inherited from Resource

#id, #location, #name, #tags, #type

Class Method Summary collapse

Methods inherited from Resource

#resource_group

Instance Attribute Details

#additional_capabilitiesAdditionalCapabilities

enabled or disabled on the virtual machine.

Returns:



34
35
36
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 34

def additional_capabilities
  @additional_capabilities
end

#availability_setSubResource

that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.
This property cannot exist along with a non-null properties.virtualMachineScaleSet reference.

Returns:

  • (SubResource)

    Specifies information about the availability set



68
69
70
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 68

def availability_set
  @availability_set
end

#billing_profileBillingProfile

Azure Spot virtual machine.
Minimum api-version: 2019-03-01.

Returns:



101
102
103
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 101

def billing_profile
  @billing_profile
end

#diagnostics_profileDiagnosticsProfile

state.
Minimum api-version: 2015-06-15.

Returns:



51
52
53
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 51

def diagnostics_profile
  @diagnostics_profile
end

#eviction_policyVirtualMachineEvictionPolicyTypes

policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview. Possible values include: 'Deallocate', 'Delete'

Returns:



97
98
99
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 97

def eviction_policy
  @eviction_policy
end

#extensions_time_budgetString

start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).
Minimum api-version: 2020-06-01

Returns:

  • (String)

    Specifies the time alloted for all extensions to



142
143
144
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 142

def extensions_time_budget
  @extensions_time_budget
end

#hardware_profileHardwareProfile

virtual machine.

Returns:



26
27
28
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 26

def hardware_profile
  @hardware_profile
end

#hostSubResource

that the virtual machine resides in.
Minimum api-version: 2018-10-01.

Returns:

  • (SubResource)

    Specifies information about the dedicated host



106
107
108
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 106

def host
  @host
end

#host_groupSubResource

group that the virtual machine resides in.
Minimum api-version: 2020-06-01.
NOTE: User cannot specify both host and hostGroup properties.

Returns:

  • (SubResource)

    Specifies information about the dedicated host



112
113
114
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 112

def host_group
  @host_group
end

#identityVirtualMachineIdentity

if configured.

Returns:



150
151
152
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 150

def identity
  @identity
end

#instance_viewVirtualMachineInstanceView

Returns The virtual machine instance view.

Returns:



119
120
121
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 119

def instance_view
  @instance_view
end

#license_typeString

was licensed on-premises.
Possible values for Windows Server operating system are:
Windows_Client
Windows_Server
Possible values for Linux Server operating system are:
RHEL_BYOS (for RHEL)
SLES_BYOS (for SUSE)
For more information, see [Azure Hybrid Use Benefit for Windows Server](docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)
[Azure Hybrid Use Benefit for Linux Server](docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)
Minimum api-version: 2015-06-15

Returns:

  • (String)

    Specifies that the image or disk that is being used



131
132
133
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 131

def license_type
  @license_type
end

#network_profileNetworkProfile

virtual machine.

Returns:



43
44
45
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 43

def network_profile
  @network_profile
end

#os_profileOSProfile

creating the virtual machine. Some of the settings cannot be changed once VM is provisioned.

Returns:

  • (OSProfile)

    Specifies the operating system settings used while



39
40
41
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 39

def os_profile
  @os_profile
end

#planPlan

to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click *Save*.

Returns:

  • (Plan)

    Specifies information about the marketplace image used



22
23
24
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 22

def plan
  @plan
end

#priorityVirtualMachinePriorityTypes

virtual machine.
Minimum api-version: 2019-03-01. Possible values include: 'Regular', 'Low', 'Spot'

Returns:



88
89
90
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 88

def priority
  @priority
end

#provisioning_stateString

response.

Returns:

  • (String)

    The provisioning state, which only appears in the



116
117
118
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 116

def provisioning_state
  @provisioning_state
end

#proximity_placement_groupSubResource

placement group that the virtual machine should be assigned to.
Minimum api-version: 2018-04-01.

Returns:

  • (SubResource)

    Specifies information about the proximity



83
84
85
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 83

def proximity_placement_group
  @proximity_placement_group
end

#resourcesArray<VirtualMachineExtension>

extension resources.

Returns:



146
147
148
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 146

def resources
  @resources
end

#security_profileSecurityProfile

settings for the virtual machine.

Returns:



47
48
49
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 47

def security_profile
  @security_profile
end

#storage_profileStorageProfile

machine disks.

Returns:



30
31
32
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 30

def storage_profile
  @storage_profile
end

#virtual_machine_scale_setSubResource

scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.
This property cannot exist along with a non-null properties.availabilitySet reference.
Minimum api‐version: 2019‐03‐01

Returns:

  • (SubResource)

    Specifies information about the virtual machine



78
79
80
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 78

def virtual_machine_scale_set
  @virtual_machine_scale_set
end

#vm_idString

identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands.

Returns:

  • (String)

    Specifies the VM unique ID which is a 128-bits



136
137
138
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 136

def vm_id
  @vm_id
end

#zonesArray<String>

Returns The virtual machine zones.

Returns:

  • (Array<String>)

    The virtual machine zones.



153
154
155
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 153

def zones
  @zones
end

Class Method Details

.mapperObject

Mapper for VirtualMachine class as Ruby Hash. This will be used for serialization/deserialization.



160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine.rb', line 160

def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'VirtualMachine',
    type: {
      name: 'Composite',
      class_name: 'VirtualMachine',
      model_properties: {
        id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'id',
          type: {
            name: 'String'
          }
        },
        name: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        type: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'type',
          type: {
            name: 'String'
          }
        },
        location: {
          client_side_validation: true,
          required: true,
          serialized_name: 'location',
          type: {
            name: 'String'
          }
        },
        tags: {
          client_side_validation: true,
          required: false,
          serialized_name: 'tags',
          type: {
            name: 'Dictionary',
            value: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        plan: {
          client_side_validation: true,
          required: false,
          serialized_name: 'plan',
          type: {
            name: 'Composite',
            class_name: 'Plan'
          }
        },
        hardware_profile: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.hardwareProfile',
          type: {
            name: 'Composite',
            class_name: 'HardwareProfile'
          }
        },
        storage_profile: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.storageProfile',
          type: {
            name: 'Composite',
            class_name: 'StorageProfile'
          }
        },
        additional_capabilities: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.additionalCapabilities',
          type: {
            name: 'Composite',
            class_name: 'AdditionalCapabilities'
          }
        },
        os_profile: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.osProfile',
          type: {
            name: 'Composite',
            class_name: 'OSProfile'
          }
        },
        network_profile: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.networkProfile',
          type: {
            name: 'Composite',
            class_name: 'NetworkProfile'
          }
        },
        security_profile: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.securityProfile',
          type: {
            name: 'Composite',
            class_name: 'SecurityProfile'
          }
        },
        diagnostics_profile: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.diagnosticsProfile',
          type: {
            name: 'Composite',
            class_name: 'DiagnosticsProfile'
          }
        },
        availability_set: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.availabilitySet',
          type: {
            name: 'Composite',
            class_name: 'SubResource'
          }
        },
        virtual_machine_scale_set: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.virtualMachineScaleSet',
          type: {
            name: 'Composite',
            class_name: 'SubResource'
          }
        },
        proximity_placement_group: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.proximityPlacementGroup',
          type: {
            name: 'Composite',
            class_name: 'SubResource'
          }
        },
        priority: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.priority',
          type: {
            name: 'String'
          }
        },
        eviction_policy: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.evictionPolicy',
          type: {
            name: 'String'
          }
        },
        billing_profile: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.billingProfile',
          type: {
            name: 'Composite',
            class_name: 'BillingProfile'
          }
        },
        host: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.host',
          type: {
            name: 'Composite',
            class_name: 'SubResource'
          }
        },
        host_group: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.hostGroup',
          type: {
            name: 'Composite',
            class_name: 'SubResource'
          }
        },
        provisioning_state: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.provisioningState',
          type: {
            name: 'String'
          }
        },
        instance_view: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.instanceView',
          type: {
            name: 'Composite',
            class_name: 'VirtualMachineInstanceView'
          }
        },
        license_type: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.licenseType',
          type: {
            name: 'String'
          }
        },
        vm_id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.vmId',
          type: {
            name: 'String'
          }
        },
        extensions_time_budget: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.extensionsTimeBudget',
          type: {
            name: 'String'
          }
        },
        resources: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'resources',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'VirtualMachineExtensionElementType',
                type: {
                  name: 'Composite',
                  class_name: 'VirtualMachineExtension'
                }
            }
          }
        },
        identity: {
          client_side_validation: true,
          required: false,
          serialized_name: 'identity',
          type: {
            name: 'Composite',
            class_name: 'VirtualMachineIdentity'
          }
        },
        zones: {
          client_side_validation: true,
          required: false,
          serialized_name: 'zones',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        }
      }
    }
  }
end