class Azure::Compute::Mgmt::V2018_10_01::Models::VirtualMachine

Describes a Virtual Machine.

Attributes

additional_capabilities[RW]

@return [AdditionalCapabilities] Specifies additional capabilities enabled or disabled on the virtual machine.

availability_set[RW]

@return [SubResource] Specifies information about the availability set 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. An existing VM cannot be added to an availability set.

diagnostics_profile[RW]

@return [DiagnosticsProfile] Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15.

hardware_profile[RW]

@return [HardwareProfile] Specifies the hardware settings for the virtual machine.

identity[RW]

@return [VirtualMachineIdentity] The identity of the virtual machine, if configured.

instance_view[RW]

@return [VirtualMachineInstanceView] The virtual machine instance view.

license_type[RW]

@return [String] Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15

network_profile[RW]

@return [NetworkProfile] Specifies the network interfaces of the virtual machine.

os_profile[RW]

@return [OSProfile] Specifies the operating system settings for the virtual machine.

plan[RW]

@return [Plan] Specifies information about the marketplace image used 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*.

provisioning_state[RW]

@return [String] The provisioning state, which only appears in the response.

proximity_placement_group[RW]

@return [SubResource] Specifies information about the proximity placement group that the virtual machine should be assigned to.
Minimum api-version: 2018-04-01.

resources[RW]

@return [Array<VirtualMachineExtension>] The virtual machine child extension resources.

storage_profile[RW]

@return [StorageProfile] Specifies the storage settings for the virtual machine disks.

vm_id[RW]

@return [String] Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands.

zones[RW]

@return [Array<String>] The virtual machine zones.

Public Class Methods

mapper() click to toggle source

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

# File lib/2018-10-01/generated/azure_mgmt_compute/models/virtual_machine.rb, line 105
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'
          }
        },
        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'
          }
        },
        proximity_placement_group: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.proximityPlacementGroup',
          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'
          }
        },
        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