Class: Azure::Compute::Mgmt::V2020_06_01::Models::VirtualMachineScaleSet

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

Overview

Describes a Virtual Machine Scale Set.

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 Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type.

Returns:



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

def additional_capabilities
  @additional_capabilities
end

#automatic_repairs_policyAutomaticRepairsPolicy

Returns Policy for automatic repairs.

Returns:



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

def automatic_repairs_policy
  @automatic_repairs_policy
end

#do_not_run_extensions_on_overprovisioned_vmsBoolean

launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs.

Returns:

  • (Boolean)

    When Overprovision is enabled, extensions are



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

def do_not_run_extensions_on_overprovisioned_vms
  @do_not_run_extensions_on_overprovisioned_vms
end

#host_groupSubResource

group that the virtual machine scale set resides in.
Minimum api-version: 2020-06-01.

Returns:

  • (SubResource)

    Specifies information about the dedicated host



75
76
77
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 75

def host_group
  @host_group
end

#identityVirtualMachineScaleSetIdentity

machine scale set, if configured.

Returns:



91
92
93
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 91

def identity
  @identity
end

#overprovisionBoolean

should be overprovisioned.

Returns:

  • (Boolean)

    Specifies whether the Virtual Machine Scale Set



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

def overprovision
  @overprovision
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



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

def plan
  @plan
end

#platform_fault_domain_countInteger

Returns Fault Domain count for each placement group.

Returns:

  • (Integer)

    Fault Domain count for each placement group.



65
66
67
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 65

def platform_fault_domain_count
  @platform_fault_domain_count
end

#provisioning_stateString

response.

Returns:

  • (String)

    The provisioning state, which only appears in the



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

def provisioning_state
  @provisioning_state
end

#proximity_placement_groupSubResource

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

Returns:

  • (SubResource)

    Specifies information about the proximity



70
71
72
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 70

def proximity_placement_group
  @proximity_placement_group
end

#scale_in_policyScaleInPolicy

which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in.

Returns:



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

def scale_in_policy
  @scale_in_policy
end

#single_placement_groupBoolean

placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true.

Returns:

  • (Boolean)

    When true this limits the scale set to a single



58
59
60
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 58

def single_placement_group
  @single_placement_group
end

#skuSku

Returns The virtual machine scale set sku.

Returns:

  • (Sku)

    The virtual machine scale set sku.



16
17
18
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 16

def sku
  @sku
end

#unique_idString

Machine Scale Set.

Returns:

  • (String)

    Specifies the ID which uniquely identifies a Virtual



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

def unique_id
  @unique_id
end

#upgrade_policyUpgradePolicy

Returns The upgrade policy.

Returns:



28
29
30
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 28

def upgrade_policy
  @upgrade_policy
end

#virtual_machine_profileVirtualMachineScaleSetVMProfile

Returns The virtual machine profile.

Returns:



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

def virtual_machine_profile
  @virtual_machine_profile
end

#zone_balanceBoolean

distribution cross x-zones in case there is zone outage.

Returns:

  • (Boolean)

    Whether to force strictly even Virtual Machine



62
63
64
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 62

def zone_balance
  @zone_balance
end

#zonesArray<String>

Availability zones can only be set when you create the scale set

Returns:

  • (Array<String>)

    The virtual machine scale set zones. NOTE:



95
96
97
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 95

def zones
  @zones
end

Class Method Details

.mapperObject

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



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
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
# File 'lib/2020-06-01/generated/azure_mgmt_compute/models/virtual_machine_scale_set.rb', line 102

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'
          }
        },
        automatic_repairs_policy: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.automaticRepairsPolicy',
          type: {
            name: 'Composite',
            class_name: 'AutomaticRepairsPolicy'
          }
        },
        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'
          }
        },
        do_not_run_extensions_on_overprovisioned_vms: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.doNotRunExtensionsOnOverprovisionedVMs',
          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'
          }
        },
        host_group: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.hostGroup',
          type: {
            name: 'Composite',
            class_name: 'SubResource'
          }
        },
        additional_capabilities: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.additionalCapabilities',
          type: {
            name: 'Composite',
            class_name: 'AdditionalCapabilities'
          }
        },
        scale_in_policy: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.scaleInPolicy',
          type: {
            name: 'Composite',
            class_name: 'ScaleInPolicy'
          }
        },
        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