1# coding=utf-8
2# --------------------------------------------------------------------------
3# Copyright (c) Microsoft Corporation. All rights reserved.
4# Licensed under the MIT License. See License.txt in the project root for license information.
5# Code generated by Microsoft (R) AutoRest Code Generator.
6# Changes may cause incorrect behavior and will be lost if the code is regenerated.
7# --------------------------------------------------------------------------
8
9from enum import Enum, EnumMeta
10from six import with_metaclass
11
12class _CaseInsensitiveEnumMeta(EnumMeta):
13    def __getitem__(self, name):
14        return super().__getitem__(name.upper())
15
16    def __getattr__(cls, name):
17        """Return the enum member matching `name`
18        We use __getattr__ instead of descriptors or inserting into the enum
19        class' __dict__ in order to support `name` and `value` being both
20        properties for enum members (which live in the class' __dict__) and
21        enum members themselves.
22        """
23        try:
24            return cls._member_map_[name.upper()]
25        except KeyError:
26            raise AttributeError(name)
27
28
29class AvailabilitySetSkuTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
30    """Specifies the sku of an Availability Set. Use 'Aligned' for virtual machines with managed disks
31    and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.
32    """
33
34    CLASSIC = "Classic"
35    ALIGNED = "Aligned"
36
37class CachingTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
38    """Specifies the caching requirements. :code:`<br>`:code:`<br>` Possible values are:
39    :code:`<br>`:code:`<br>` **None** :code:`<br>`:code:`<br>` **ReadOnly**
40    :code:`<br>`:code:`<br>` **ReadWrite** :code:`<br>`:code:`<br>` Default: **None for Standard
41    storage. ReadOnly for Premium storage**
42    """
43
44    NONE = "None"
45    READ_ONLY = "ReadOnly"
46    READ_WRITE = "ReadWrite"
47
48class DiffDiskOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
49    """Specifies the ephemeral disk option for operating system disk.
50    """
51
52    LOCAL = "Local"
53
54class DiskCreateOptionTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
55    """Specifies how the virtual machine should be created.:code:`<br>`:code:`<br>` Possible values
56    are::code:`<br>`:code:`<br>` **Attach** \u2013 This value is used when you are using a
57    specialized disk to create the virtual machine.:code:`<br>`:code:`<br>` **FromImage** \u2013
58    This value is used when you are using an image to create the virtual machine. If you are using
59    a platform image, you also use the imageReference element described above. If you are using a
60    marketplace image, you  also use the plan element previously described.
61    """
62
63    FROM_IMAGE = "FromImage"
64    EMPTY = "Empty"
65    ATTACH = "Attach"
66
67class IntervalInMins(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
68    """Interval value in minutes used to create LogAnalytics call rate logs.
69    """
70
71    THREE_MINS = "ThreeMins"
72    FIVE_MINS = "FiveMins"
73    THIRTY_MINS = "ThirtyMins"
74    SIXTY_MINS = "SixtyMins"
75
76class IPVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
77    """Available from Api-Version 2017-03-30 onwards, it represents whether the specific
78    ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.  Possible values are: 'IPv4' and
79    'IPv6'.
80    """
81
82    I_PV4 = "IPv4"
83    I_PV6 = "IPv6"
84
85class MaintenanceOperationResultCodeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
86    """The Last Maintenance Operation Result Code.
87    """
88
89    NONE = "None"
90    RETRY_LATER = "RetryLater"
91    MAINTENANCE_ABORTED = "MaintenanceAborted"
92    MAINTENANCE_COMPLETED = "MaintenanceCompleted"
93
94class OperatingSystemStateTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
95    """The OS State.
96    """
97
98    GENERALIZED = "Generalized"
99    SPECIALIZED = "Specialized"
100
101class OperatingSystemTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
102    """The operating system of the osDiskImage.
103    """
104
105    WINDOWS = "Windows"
106    LINUX = "Linux"
107
108class ProtocolTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
109    """Specifies the protocol of listener. :code:`<br>`:code:`<br>` Possible values are: :code:`<br>`\
110    **http** :code:`<br>`:code:`<br>` **https**
111    """
112
113    HTTP = "Http"
114    HTTPS = "Https"
115
116class ProximityPlacementGroupType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
117    """Specifies the type of the proximity placement group. :code:`<br>`:code:`<br>` Possible values
118    are: :code:`<br>`:code:`<br>` **Standard** : Co-locate resources within an Azure region or
119    Availability Zone. :code:`<br>`:code:`<br>` **Ultra** : For future use.
120    """
121
122    STANDARD = "Standard"
123    ULTRA = "Ultra"
124
125class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
126    """The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned'
127    includes both an implicitly created identity and a set of user assigned identities. The type
128    'None' will remove any identities from the virtual machine.
129    """
130
131    SYSTEM_ASSIGNED = "SystemAssigned"
132    USER_ASSIGNED = "UserAssigned"
133    SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned"
134    NONE = "None"
135
136class RollingUpgradeActionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
137    """The last action performed on the rolling upgrade.
138    """
139
140    START = "Start"
141    CANCEL = "Cancel"
142
143class RollingUpgradeStatusCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
144    """Code indicating the current status of the upgrade.
145    """
146
147    ROLLING_FORWARD = "RollingForward"
148    CANCELLED = "Cancelled"
149    COMPLETED = "Completed"
150    FAULTED = "Faulted"
151
152class SettingNames(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
153    """Specifies the name of the setting to which the content applies. Possible values are:
154    FirstLogonCommands and AutoLogon.
155    """
156
157    AUTO_LOGON = "AutoLogon"
158    FIRST_LOGON_COMMANDS = "FirstLogonCommands"
159
160class StatusLevelTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
161    """The level code.
162    """
163
164    INFO = "Info"
165    WARNING = "Warning"
166    ERROR = "Error"
167
168class StorageAccountTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
169    """Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used
170    with data disks, it cannot be used with OS Disk.
171    """
172
173    STANDARD_LRS = "Standard_LRS"
174    PREMIUM_LRS = "Premium_LRS"
175    STANDARD_SSD_LRS = "StandardSSD_LRS"
176    ULTRA_SSD_LRS = "UltraSSD_LRS"
177
178class UpgradeMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
179    """Specifies the mode of an upgrade to virtual machines in the scale set.:code:`<br />`:code:`<br
180    />` Possible values are::code:`<br />`:code:`<br />` **Manual** - You  control the application
181    of updates to virtual machines in the scale set. You do this by using the manualUpgrade
182    action.:code:`<br />`:code:`<br />` **Automatic** - All virtual machines in the scale set are
183    automatically updated at the same time.
184    """
185
186    AUTOMATIC = "Automatic"
187    MANUAL = "Manual"
188    ROLLING = "Rolling"
189
190class UpgradeOperationInvoker(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
191    """Invoker of the Upgrade Operation
192    """
193
194    UNKNOWN = "Unknown"
195    USER = "User"
196    PLATFORM = "Platform"
197
198class UpgradeState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
199    """Code indicating the current status of the upgrade.
200    """
201
202    ROLLING_FORWARD = "RollingForward"
203    CANCELLED = "Cancelled"
204    COMPLETED = "Completed"
205    FAULTED = "Faulted"
206
207class VirtualMachineEvictionPolicyTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
208    """Specifies the eviction policy for virtual machines in a low priority scale set.
209    :code:`<br>`:code:`<br>`Minimum api-version: 2017-10-30-preview
210    """
211
212    DEALLOCATE = "Deallocate"
213    DELETE = "Delete"
214
215class VirtualMachinePriorityTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
216    """Specifies the priority for the virtual machines in the scale set.
217    :code:`<br>`:code:`<br>`Minimum api-version: 2017-10-30-preview
218    """
219
220    REGULAR = "Regular"
221    LOW = "Low"
222
223class VirtualMachineScaleSetSkuScaleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
224    """The scale type applicable to the sku.
225    """
226
227    AUTOMATIC = "Automatic"
228    NONE = "None"
229
230class VirtualMachineSizeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
231    """Specifies the size of the virtual machine. For more information about virtual machine sizes,
232    see `Sizes for virtual machines
233    <https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json>`_.
234    :code:`<br>`:code:`<br>` The available VM sizes depend on region and availability set. For a
235    list of available sizes use these APIs:  :code:`<br>`:code:`<br>` `List all available virtual
236    machine sizes in an availability set
237    <https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes>`_
238    :code:`<br>`:code:`<br>` `List all available virtual machine sizes in a region
239    <https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list>`_
240    :code:`<br>`:code:`<br>` `List all available virtual machine sizes for resizing
241    <https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes>`_
242    """
243
244    BASIC_A0 = "Basic_A0"
245    BASIC_A1 = "Basic_A1"
246    BASIC_A2 = "Basic_A2"
247    BASIC_A3 = "Basic_A3"
248    BASIC_A4 = "Basic_A4"
249    STANDARD_A0 = "Standard_A0"
250    STANDARD_A1 = "Standard_A1"
251    STANDARD_A2 = "Standard_A2"
252    STANDARD_A3 = "Standard_A3"
253    STANDARD_A4 = "Standard_A4"
254    STANDARD_A5 = "Standard_A5"
255    STANDARD_A6 = "Standard_A6"
256    STANDARD_A7 = "Standard_A7"
257    STANDARD_A8 = "Standard_A8"
258    STANDARD_A9 = "Standard_A9"
259    STANDARD_A10 = "Standard_A10"
260    STANDARD_A11 = "Standard_A11"
261    STANDARD_A1_V2 = "Standard_A1_v2"
262    STANDARD_A2_V2 = "Standard_A2_v2"
263    STANDARD_A4_V2 = "Standard_A4_v2"
264    STANDARD_A8_V2 = "Standard_A8_v2"
265    STANDARD_A2_M_V2 = "Standard_A2m_v2"
266    STANDARD_A4_M_V2 = "Standard_A4m_v2"
267    STANDARD_A8_M_V2 = "Standard_A8m_v2"
268    STANDARD_B1_S = "Standard_B1s"
269    STANDARD_B1_MS = "Standard_B1ms"
270    STANDARD_B2_S = "Standard_B2s"
271    STANDARD_B2_MS = "Standard_B2ms"
272    STANDARD_B4_MS = "Standard_B4ms"
273    STANDARD_B8_MS = "Standard_B8ms"
274    STANDARD_D1 = "Standard_D1"
275    STANDARD_D2 = "Standard_D2"
276    STANDARD_D3 = "Standard_D3"
277    STANDARD_D4 = "Standard_D4"
278    STANDARD_D11 = "Standard_D11"
279    STANDARD_D12 = "Standard_D12"
280    STANDARD_D13 = "Standard_D13"
281    STANDARD_D14 = "Standard_D14"
282    STANDARD_D1_V2 = "Standard_D1_v2"
283    STANDARD_D2_V2 = "Standard_D2_v2"
284    STANDARD_D3_V2 = "Standard_D3_v2"
285    STANDARD_D4_V2 = "Standard_D4_v2"
286    STANDARD_D5_V2 = "Standard_D5_v2"
287    STANDARD_D2_V3 = "Standard_D2_v3"
288    STANDARD_D4_V3 = "Standard_D4_v3"
289    STANDARD_D8_V3 = "Standard_D8_v3"
290    STANDARD_D16_V3 = "Standard_D16_v3"
291    STANDARD_D32_V3 = "Standard_D32_v3"
292    STANDARD_D64_V3 = "Standard_D64_v3"
293    STANDARD_D2_S_V3 = "Standard_D2s_v3"
294    STANDARD_D4_S_V3 = "Standard_D4s_v3"
295    STANDARD_D8_S_V3 = "Standard_D8s_v3"
296    STANDARD_D16_S_V3 = "Standard_D16s_v3"
297    STANDARD_D32_S_V3 = "Standard_D32s_v3"
298    STANDARD_D64_S_V3 = "Standard_D64s_v3"
299    STANDARD_D11_V2 = "Standard_D11_v2"
300    STANDARD_D12_V2 = "Standard_D12_v2"
301    STANDARD_D13_V2 = "Standard_D13_v2"
302    STANDARD_D14_V2 = "Standard_D14_v2"
303    STANDARD_D15_V2 = "Standard_D15_v2"
304    STANDARD_DS1 = "Standard_DS1"
305    STANDARD_DS2 = "Standard_DS2"
306    STANDARD_DS3 = "Standard_DS3"
307    STANDARD_DS4 = "Standard_DS4"
308    STANDARD_DS11 = "Standard_DS11"
309    STANDARD_DS12 = "Standard_DS12"
310    STANDARD_DS13 = "Standard_DS13"
311    STANDARD_DS14 = "Standard_DS14"
312    STANDARD_DS1_V2 = "Standard_DS1_v2"
313    STANDARD_DS2_V2 = "Standard_DS2_v2"
314    STANDARD_DS3_V2 = "Standard_DS3_v2"
315    STANDARD_DS4_V2 = "Standard_DS4_v2"
316    STANDARD_DS5_V2 = "Standard_DS5_v2"
317    STANDARD_DS11_V2 = "Standard_DS11_v2"
318    STANDARD_DS12_V2 = "Standard_DS12_v2"
319    STANDARD_DS13_V2 = "Standard_DS13_v2"
320    STANDARD_DS14_V2 = "Standard_DS14_v2"
321    STANDARD_DS15_V2 = "Standard_DS15_v2"
322    STANDARD_DS13_4_V2 = "Standard_DS13-4_v2"
323    STANDARD_DS13_2_V2 = "Standard_DS13-2_v2"
324    STANDARD_DS14_8_V2 = "Standard_DS14-8_v2"
325    STANDARD_DS14_4_V2 = "Standard_DS14-4_v2"
326    STANDARD_E2_V3 = "Standard_E2_v3"
327    STANDARD_E4_V3 = "Standard_E4_v3"
328    STANDARD_E8_V3 = "Standard_E8_v3"
329    STANDARD_E16_V3 = "Standard_E16_v3"
330    STANDARD_E32_V3 = "Standard_E32_v3"
331    STANDARD_E64_V3 = "Standard_E64_v3"
332    STANDARD_E2_S_V3 = "Standard_E2s_v3"
333    STANDARD_E4_S_V3 = "Standard_E4s_v3"
334    STANDARD_E8_S_V3 = "Standard_E8s_v3"
335    STANDARD_E16_S_V3 = "Standard_E16s_v3"
336    STANDARD_E32_S_V3 = "Standard_E32s_v3"
337    STANDARD_E64_S_V3 = "Standard_E64s_v3"
338    STANDARD_E32_16_V3 = "Standard_E32-16_v3"
339    STANDARD_E32_8_S_V3 = "Standard_E32-8s_v3"
340    STANDARD_E64_32_S_V3 = "Standard_E64-32s_v3"
341    STANDARD_E64_16_S_V3 = "Standard_E64-16s_v3"
342    STANDARD_F1 = "Standard_F1"
343    STANDARD_F2 = "Standard_F2"
344    STANDARD_F4 = "Standard_F4"
345    STANDARD_F8 = "Standard_F8"
346    STANDARD_F16 = "Standard_F16"
347    STANDARD_F1_S = "Standard_F1s"
348    STANDARD_F2_S = "Standard_F2s"
349    STANDARD_F4_S = "Standard_F4s"
350    STANDARD_F8_S = "Standard_F8s"
351    STANDARD_F16_S = "Standard_F16s"
352    STANDARD_F2_S_V2 = "Standard_F2s_v2"
353    STANDARD_F4_S_V2 = "Standard_F4s_v2"
354    STANDARD_F8_S_V2 = "Standard_F8s_v2"
355    STANDARD_F16_S_V2 = "Standard_F16s_v2"
356    STANDARD_F32_S_V2 = "Standard_F32s_v2"
357    STANDARD_F64_S_V2 = "Standard_F64s_v2"
358    STANDARD_F72_S_V2 = "Standard_F72s_v2"
359    STANDARD_G1 = "Standard_G1"
360    STANDARD_G2 = "Standard_G2"
361    STANDARD_G3 = "Standard_G3"
362    STANDARD_G4 = "Standard_G4"
363    STANDARD_G5 = "Standard_G5"
364    STANDARD_GS1 = "Standard_GS1"
365    STANDARD_GS2 = "Standard_GS2"
366    STANDARD_GS3 = "Standard_GS3"
367    STANDARD_GS4 = "Standard_GS4"
368    STANDARD_GS5 = "Standard_GS5"
369    STANDARD_GS4_8 = "Standard_GS4-8"
370    STANDARD_GS4_4 = "Standard_GS4-4"
371    STANDARD_GS5_16 = "Standard_GS5-16"
372    STANDARD_GS5_8 = "Standard_GS5-8"
373    STANDARD_H8 = "Standard_H8"
374    STANDARD_H16 = "Standard_H16"
375    STANDARD_H8_M = "Standard_H8m"
376    STANDARD_H16_M = "Standard_H16m"
377    STANDARD_H16_R = "Standard_H16r"
378    STANDARD_H16_MR = "Standard_H16mr"
379    STANDARD_L4_S = "Standard_L4s"
380    STANDARD_L8_S = "Standard_L8s"
381    STANDARD_L16_S = "Standard_L16s"
382    STANDARD_L32_S = "Standard_L32s"
383    STANDARD_M64_S = "Standard_M64s"
384    STANDARD_M64_MS = "Standard_M64ms"
385    STANDARD_M128_S = "Standard_M128s"
386    STANDARD_M128_MS = "Standard_M128ms"
387    STANDARD_M64_32_MS = "Standard_M64-32ms"
388    STANDARD_M64_16_MS = "Standard_M64-16ms"
389    STANDARD_M128_64_MS = "Standard_M128-64ms"
390    STANDARD_M128_32_MS = "Standard_M128-32ms"
391    STANDARD_NC6 = "Standard_NC6"
392    STANDARD_NC12 = "Standard_NC12"
393    STANDARD_NC24 = "Standard_NC24"
394    STANDARD_NC24_R = "Standard_NC24r"
395    STANDARD_NC6_S_V2 = "Standard_NC6s_v2"
396    STANDARD_NC12_S_V2 = "Standard_NC12s_v2"
397    STANDARD_NC24_S_V2 = "Standard_NC24s_v2"
398    STANDARD_NC24_RS_V2 = "Standard_NC24rs_v2"
399    STANDARD_NC6_S_V3 = "Standard_NC6s_v3"
400    STANDARD_NC12_S_V3 = "Standard_NC12s_v3"
401    STANDARD_NC24_S_V3 = "Standard_NC24s_v3"
402    STANDARD_NC24_RS_V3 = "Standard_NC24rs_v3"
403    STANDARD_ND6_S = "Standard_ND6s"
404    STANDARD_ND12_S = "Standard_ND12s"
405    STANDARD_ND24_S = "Standard_ND24s"
406    STANDARD_ND24_RS = "Standard_ND24rs"
407    STANDARD_NV6 = "Standard_NV6"
408    STANDARD_NV12 = "Standard_NV12"
409    STANDARD_NV24 = "Standard_NV24"
410