class Azure::Compute::Mgmt::V2018_04_01::Models::VirtualMachineScaleSet

Describes a Virtual Machine Scale Set.

Attributes

identity[RW]

@return [VirtualMachineScaleSetIdentity] The identity of the virtual machine scale set, if configured.

overprovision[RW]

@return [Boolean] Specifies whether the Virtual Machine Scale Set should be overprovisioned.

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*.

platform_fault_domain_count[RW]

@return [Integer] Fault Domain count for each placement group.

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 scale set should be assigned to.
Minimum api-version: 2018-04-01.

single_placement_group[RW]

@return [Boolean] When true this limits the scale set to a single placement group, of max size 100 virtual machines.

sku[RW]

@return [Sku] The virtual machine scale set sku.

unique_id[RW]

@return [String] Specifies the ID which uniquely identifies a Virtual Machine Scale Set.

upgrade_policy[RW]

@return [UpgradePolicy] The upgrade policy.

virtual_machine_profile[RW]

@return [VirtualMachineScaleSetVMProfile] The virtual machine profile.

zone_balance[RW]

@return [Boolean] Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.

zones[RW]

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

Public Class Methods

mapper() click to toggle source

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

# File lib/2018-04-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb, line 73
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'VirtualMachineScaleSet',
    type: {
      name: 'Composite',
      class_name: 'VirtualMachineScaleSet',
      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'
                }
            }
          }
        },
        sku: {
          client_side_validation: true,
          required: false,
          serialized_name: 'sku',
          type: {
            name: 'Composite',
            class_name: 'Sku'
          }
        },
        plan: {
          client_side_validation: true,
          required: false,
          serialized_name: 'plan',
          type: {
            name: 'Composite',
            class_name: 'Plan'
          }
        },
        upgrade_policy: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.upgradePolicy',
          type: {
            name: 'Composite',
            class_name: 'UpgradePolicy'
          }
        },
        virtual_machine_profile: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.virtualMachineProfile',
          type: {
            name: 'Composite',
            class_name: 'VirtualMachineScaleSetVMProfile'
          }
        },
        provisioning_state: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.provisioningState',
          type: {
            name: 'String'
          }
        },
        overprovision: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.overprovision',
          type: {
            name: 'Boolean'
          }
        },
        unique_id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'properties.uniqueId',
          type: {
            name: 'String'
          }
        },
        single_placement_group: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.singlePlacementGroup',
          type: {
            name: 'Boolean'
          }
        },
        zone_balance: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.zoneBalance',
          type: {
            name: 'Boolean'
          }
        },
        platform_fault_domain_count: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.platformFaultDomainCount',
          type: {
            name: 'Number'
          }
        },
        proximity_placement_group: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.proximityPlacementGroup',
          type: {
            name: 'Composite',
            class_name: 'SubResource'
          }
        },
        identity: {
          client_side_validation: true,
          required: false,
          serialized_name: 'identity',
          type: {
            name: 'Composite',
            class_name: 'VirtualMachineScaleSetIdentity'
          }
        },
        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