# encoding: utf-8 # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. module Azure::Compute::Mgmt::V2018_10_01 module Models # # Describes a virtual machine scale set virtual machine profile. # class VirtualMachineScaleSetVMProfile include MsRestAzure # @return [VirtualMachineScaleSetOSProfile] Specifies the operating # system settings for the virtual machines in the scale set. attr_accessor :os_profile # @return [VirtualMachineScaleSetStorageProfile] Specifies the storage # settings for the virtual machine disks. attr_accessor :storage_profile # @return [AdditionalCapabilities] Specifies additional capabilities # enabled or disabled on the virtual machine in the scale set. For # instance: whether the virtual machine has the capability to support # attaching managed data disks with UltraSSD_LRS storage account type. attr_accessor :additional_capabilities # @return [VirtualMachineScaleSetNetworkProfile] Specifies properties of # the network interfaces of the virtual machines in the scale set. attr_accessor :network_profile # @return [DiagnosticsProfile] Specifies the boot diagnostic settings # state.

Minimum api-version: 2015-06-15. attr_accessor :diagnostics_profile # @return [VirtualMachineScaleSetExtensionProfile] Specifies a collection # of settings for extensions installed on virtual machines in the scale # set. attr_accessor :extension_profile # @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](https://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 attr_accessor :license_type # @return [VirtualMachinePriorityTypes] Specifies the priority for the # virtual machines in the scale set.

Minimum api-version: # 2017-10-30-preview. Possible values include: 'Regular', 'Low' attr_accessor :priority # @return [VirtualMachineEvictionPolicyTypes] Specifies the eviction # policy for virtual machines in a low priority scale set. #

Minimum api-version: 2017-10-30-preview. Possible values # include: 'Deallocate', 'Delete' attr_accessor :eviction_policy # # Mapper for VirtualMachineScaleSetVMProfile class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'VirtualMachineScaleSetVMProfile', type: { name: 'Composite', class_name: 'VirtualMachineScaleSetVMProfile', model_properties: { os_profile: { client_side_validation: true, required: false, serialized_name: 'osProfile', type: { name: 'Composite', class_name: 'VirtualMachineScaleSetOSProfile' } }, storage_profile: { client_side_validation: true, required: false, serialized_name: 'storageProfile', type: { name: 'Composite', class_name: 'VirtualMachineScaleSetStorageProfile' } }, additional_capabilities: { client_side_validation: true, required: false, serialized_name: 'additionalCapabilities', type: { name: 'Composite', class_name: 'AdditionalCapabilities' } }, network_profile: { client_side_validation: true, required: false, serialized_name: 'networkProfile', type: { name: 'Composite', class_name: 'VirtualMachineScaleSetNetworkProfile' } }, diagnostics_profile: { client_side_validation: true, required: false, serialized_name: 'diagnosticsProfile', type: { name: 'Composite', class_name: 'DiagnosticsProfile' } }, extension_profile: { client_side_validation: true, required: false, serialized_name: 'extensionProfile', type: { name: 'Composite', class_name: 'VirtualMachineScaleSetExtensionProfile' } }, license_type: { client_side_validation: true, required: false, serialized_name: 'licenseType', type: { name: 'String' } }, priority: { client_side_validation: true, required: false, serialized_name: 'priority', type: { name: 'String' } }, eviction_policy: { client_side_validation: true, required: false, serialized_name: 'evictionPolicy', type: { name: 'String' } } } } } end end end end