# 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::V2020_12_01 module Models # # Specifies information about the proximity placement group. # class ProximityPlacementGroup < Resource include MsRestAzure # @return [ProximityPlacementGroupType] Specifies the type of the # proximity placement group.

Possible values are:

# **Standard** : Co-locate resources within an Azure region or # Availability Zone.

**Ultra** : For future use. Possible values # include: 'Standard', 'Ultra' attr_accessor :proximity_placement_group_type # @return [Array] A list of references # to all virtual machines in the proximity placement group. attr_accessor :virtual_machines # @return [Array] A list of references # to all virtual machine scale sets in the proximity placement group. attr_accessor :virtual_machine_scale_sets # @return [Array] A list of references # to all availability sets in the proximity placement group. attr_accessor :availability_sets # @return [InstanceViewStatus] Describes colocation status of the # Proximity Placement Group. attr_accessor :colocation_status # # Mapper for ProximityPlacementGroup class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'ProximityPlacementGroup', type: { name: 'Composite', class_name: 'ProximityPlacementGroup', 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' } } } }, proximity_placement_group_type: { client_side_validation: true, required: false, serialized_name: 'properties.proximityPlacementGroupType', type: { name: 'String' } }, virtual_machines: { client_side_validation: true, required: false, read_only: true, serialized_name: 'properties.virtualMachines', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'SubResourceWithColocationStatusElementType', type: { name: 'Composite', class_name: 'SubResourceWithColocationStatus' } } } }, virtual_machine_scale_sets: { client_side_validation: true, required: false, read_only: true, serialized_name: 'properties.virtualMachineScaleSets', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'SubResourceWithColocationStatusElementType', type: { name: 'Composite', class_name: 'SubResourceWithColocationStatus' } } } }, availability_sets: { client_side_validation: true, required: false, read_only: true, serialized_name: 'properties.availabilitySets', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'SubResourceWithColocationStatusElementType', type: { name: 'Composite', class_name: 'SubResourceWithColocationStatus' } } } }, colocation_status: { client_side_validation: true, required: false, serialized_name: 'properties.colocationStatus', type: { name: 'Composite', class_name: 'InstanceViewStatus' } } } } } end end end end