1// +build go1.13
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
8package armcompute
9
10const telemetryInfo = "azsdk-go-armcompute/v0.2.0"
11
12type AccessLevel string
13
14const (
15	AccessLevelNone  AccessLevel = "None"
16	AccessLevelRead  AccessLevel = "Read"
17	AccessLevelWrite AccessLevel = "Write"
18)
19
20// PossibleAccessLevelValues returns the possible values for the AccessLevel const type.
21func PossibleAccessLevelValues() []AccessLevel {
22	return []AccessLevel{
23		AccessLevelNone,
24		AccessLevelRead,
25		AccessLevelWrite,
26	}
27}
28
29// ToPtr returns a *AccessLevel pointing to the current value.
30func (c AccessLevel) ToPtr() *AccessLevel {
31	return &c
32}
33
34// AggregatedReplicationState - This is the aggregated replication status based on all the regional replication status flags.
35type AggregatedReplicationState string
36
37const (
38	AggregatedReplicationStateCompleted  AggregatedReplicationState = "Completed"
39	AggregatedReplicationStateFailed     AggregatedReplicationState = "Failed"
40	AggregatedReplicationStateInProgress AggregatedReplicationState = "InProgress"
41	AggregatedReplicationStateUnknown    AggregatedReplicationState = "Unknown"
42)
43
44// PossibleAggregatedReplicationStateValues returns the possible values for the AggregatedReplicationState const type.
45func PossibleAggregatedReplicationStateValues() []AggregatedReplicationState {
46	return []AggregatedReplicationState{
47		AggregatedReplicationStateCompleted,
48		AggregatedReplicationStateFailed,
49		AggregatedReplicationStateInProgress,
50		AggregatedReplicationStateUnknown,
51	}
52}
53
54// ToPtr returns a *AggregatedReplicationState pointing to the current value.
55func (c AggregatedReplicationState) ToPtr() *AggregatedReplicationState {
56	return &c
57}
58
59// AvailabilitySetSKUTypes - Specifies the sku of an Availability Set. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines
60// with unmanaged disks. Default value is 'Classic'.
61type AvailabilitySetSKUTypes string
62
63const (
64	AvailabilitySetSKUTypesAligned AvailabilitySetSKUTypes = "Aligned"
65	AvailabilitySetSKUTypesClassic AvailabilitySetSKUTypes = "Classic"
66)
67
68// PossibleAvailabilitySetSKUTypesValues returns the possible values for the AvailabilitySetSKUTypes const type.
69func PossibleAvailabilitySetSKUTypesValues() []AvailabilitySetSKUTypes {
70	return []AvailabilitySetSKUTypes{
71		AvailabilitySetSKUTypesAligned,
72		AvailabilitySetSKUTypesClassic,
73	}
74}
75
76// ToPtr returns a *AvailabilitySetSKUTypes pointing to the current value.
77func (c AvailabilitySetSKUTypes) ToPtr() *AvailabilitySetSKUTypes {
78	return &c
79}
80
81// CachingTypes - Specifies the caching requirements.
82// Possible values are:
83// None
84// ReadOnly
85// ReadWrite
86// Default: None for Standard storage. ReadOnly for Premium storage
87type CachingTypes string
88
89const (
90	CachingTypesNone      CachingTypes = "None"
91	CachingTypesReadOnly  CachingTypes = "ReadOnly"
92	CachingTypesReadWrite CachingTypes = "ReadWrite"
93)
94
95// PossibleCachingTypesValues returns the possible values for the CachingTypes const type.
96func PossibleCachingTypesValues() []CachingTypes {
97	return []CachingTypes{
98		CachingTypesNone,
99		CachingTypesReadOnly,
100		CachingTypesReadWrite,
101	}
102}
103
104// ToPtr returns a *CachingTypes pointing to the current value.
105func (c CachingTypes) ToPtr() *CachingTypes {
106	return &c
107}
108
109// CloudServiceUpgradeMode - Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can
110// be initiated manually in each update domain or initiated automatically in
111// all update domains. Possible Values are
112// Auto
113// Manual
114// Simultaneous
115// If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically
116// applied to each update domain in
117// sequence.
118type CloudServiceUpgradeMode string
119
120const (
121	CloudServiceUpgradeModeAuto         CloudServiceUpgradeMode = "Auto"
122	CloudServiceUpgradeModeManual       CloudServiceUpgradeMode = "Manual"
123	CloudServiceUpgradeModeSimultaneous CloudServiceUpgradeMode = "Simultaneous"
124)
125
126// PossibleCloudServiceUpgradeModeValues returns the possible values for the CloudServiceUpgradeMode const type.
127func PossibleCloudServiceUpgradeModeValues() []CloudServiceUpgradeMode {
128	return []CloudServiceUpgradeMode{
129		CloudServiceUpgradeModeAuto,
130		CloudServiceUpgradeModeManual,
131		CloudServiceUpgradeModeSimultaneous,
132	}
133}
134
135// ToPtr returns a *CloudServiceUpgradeMode pointing to the current value.
136func (c CloudServiceUpgradeMode) ToPtr() *CloudServiceUpgradeMode {
137	return &c
138}
139
140// ConsistencyModeTypes - Gets the consistency mode for the restore point. Please refer to https://aka.ms/RestorePoints for more details.
141type ConsistencyModeTypes string
142
143const (
144	ConsistencyModeTypesApplicationConsistent ConsistencyModeTypes = "ApplicationConsistent"
145	ConsistencyModeTypesCrashConsistent       ConsistencyModeTypes = "CrashConsistent"
146	ConsistencyModeTypesFileSystemConsistent  ConsistencyModeTypes = "FileSystemConsistent"
147)
148
149// PossibleConsistencyModeTypesValues returns the possible values for the ConsistencyModeTypes const type.
150func PossibleConsistencyModeTypesValues() []ConsistencyModeTypes {
151	return []ConsistencyModeTypes{
152		ConsistencyModeTypesApplicationConsistent,
153		ConsistencyModeTypesCrashConsistent,
154		ConsistencyModeTypesFileSystemConsistent,
155	}
156}
157
158// ToPtr returns a *ConsistencyModeTypes pointing to the current value.
159func (c ConsistencyModeTypes) ToPtr() *ConsistencyModeTypes {
160	return &c
161}
162
163// DedicatedHostLicenseTypes - Specifies the software license type that will be applied to the VMs deployed on the dedicated host.
164// Possible values are:
165// None
166// WindowsServerHybrid
167// WindowsServerPerpetual
168// Default: None
169type DedicatedHostLicenseTypes string
170
171const (
172	DedicatedHostLicenseTypesNone                   DedicatedHostLicenseTypes = "None"
173	DedicatedHostLicenseTypesWindowsServerHybrid    DedicatedHostLicenseTypes = "Windows_Server_Hybrid"
174	DedicatedHostLicenseTypesWindowsServerPerpetual DedicatedHostLicenseTypes = "Windows_Server_Perpetual"
175)
176
177// PossibleDedicatedHostLicenseTypesValues returns the possible values for the DedicatedHostLicenseTypes const type.
178func PossibleDedicatedHostLicenseTypesValues() []DedicatedHostLicenseTypes {
179	return []DedicatedHostLicenseTypes{
180		DedicatedHostLicenseTypesNone,
181		DedicatedHostLicenseTypesWindowsServerHybrid,
182		DedicatedHostLicenseTypesWindowsServerPerpetual,
183	}
184}
185
186// ToPtr returns a *DedicatedHostLicenseTypes pointing to the current value.
187func (c DedicatedHostLicenseTypes) ToPtr() *DedicatedHostLicenseTypes {
188	return &c
189}
190
191// DeleteOptions - Specify what happens to the network interface when the VM is deleted
192type DeleteOptions string
193
194const (
195	DeleteOptionsDelete DeleteOptions = "Delete"
196	DeleteOptionsDetach DeleteOptions = "Detach"
197)
198
199// PossibleDeleteOptionsValues returns the possible values for the DeleteOptions const type.
200func PossibleDeleteOptionsValues() []DeleteOptions {
201	return []DeleteOptions{
202		DeleteOptionsDelete,
203		DeleteOptionsDetach,
204	}
205}
206
207// ToPtr returns a *DeleteOptions pointing to the current value.
208func (c DeleteOptions) ToPtr() *DeleteOptions {
209	return &c
210}
211
212// DiffDiskOptions - Specifies the ephemeral disk option for operating system disk.
213type DiffDiskOptions string
214
215const (
216	DiffDiskOptionsLocal DiffDiskOptions = "Local"
217)
218
219// PossibleDiffDiskOptionsValues returns the possible values for the DiffDiskOptions const type.
220func PossibleDiffDiskOptionsValues() []DiffDiskOptions {
221	return []DiffDiskOptions{
222		DiffDiskOptionsLocal,
223	}
224}
225
226// ToPtr returns a *DiffDiskOptions pointing to the current value.
227func (c DiffDiskOptions) ToPtr() *DiffDiskOptions {
228	return &c
229}
230
231// DiffDiskPlacement - Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the
232// location i.e, cache disk or resource disk space for Ephemeral OS disk
233// provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at
234// https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at
235// https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements
236type DiffDiskPlacement string
237
238const (
239	DiffDiskPlacementCacheDisk    DiffDiskPlacement = "CacheDisk"
240	DiffDiskPlacementResourceDisk DiffDiskPlacement = "ResourceDisk"
241)
242
243// PossibleDiffDiskPlacementValues returns the possible values for the DiffDiskPlacement const type.
244func PossibleDiffDiskPlacementValues() []DiffDiskPlacement {
245	return []DiffDiskPlacement{
246		DiffDiskPlacementCacheDisk,
247		DiffDiskPlacementResourceDisk,
248	}
249}
250
251// ToPtr returns a *DiffDiskPlacement pointing to the current value.
252func (c DiffDiskPlacement) ToPtr() *DiffDiskPlacement {
253	return &c
254}
255
256// DiskCreateOption - This enumerates the possible sources of a disk's creation.
257type DiskCreateOption string
258
259const (
260	// DiskCreateOptionAttach - Disk will be attached to a VM.
261	DiskCreateOptionAttach DiskCreateOption = "Attach"
262	// DiskCreateOptionCopy - Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId.
263	DiskCreateOptionCopy DiskCreateOption = "Copy"
264	// DiskCreateOptionEmpty - Create an empty data disk of a size given by diskSizeGB.
265	DiskCreateOptionEmpty DiskCreateOption = "Empty"
266	// DiskCreateOptionFromImage - Create a new disk from a platform image specified by the given imageReference or galleryImageReference.
267	DiskCreateOptionFromImage DiskCreateOption = "FromImage"
268	// DiskCreateOptionImport - Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId.
269	DiskCreateOptionImport DiskCreateOption = "Import"
270	// DiskCreateOptionRestore - Create a new disk by copying from a backup recovery point.
271	DiskCreateOptionRestore DiskCreateOption = "Restore"
272	// DiskCreateOptionUpload - Create a new disk by obtaining a write token and using it to directly upload the contents of the disk.
273	DiskCreateOptionUpload DiskCreateOption = "Upload"
274)
275
276// PossibleDiskCreateOptionValues returns the possible values for the DiskCreateOption const type.
277func PossibleDiskCreateOptionValues() []DiskCreateOption {
278	return []DiskCreateOption{
279		DiskCreateOptionAttach,
280		DiskCreateOptionCopy,
281		DiskCreateOptionEmpty,
282		DiskCreateOptionFromImage,
283		DiskCreateOptionImport,
284		DiskCreateOptionRestore,
285		DiskCreateOptionUpload,
286	}
287}
288
289// ToPtr returns a *DiskCreateOption pointing to the current value.
290func (c DiskCreateOption) ToPtr() *DiskCreateOption {
291	return &c
292}
293
294// DiskCreateOptionTypes - Specifies how the virtual machine should be created.
295// Possible values are:
296// Attach \u2013 This value is used when you are using a specialized disk to create the virtual machine.
297// FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference
298// element described above. If you are
299// using a marketplace image, you also use the plan element previously described.
300type DiskCreateOptionTypes string
301
302const (
303	DiskCreateOptionTypesAttach    DiskCreateOptionTypes = "Attach"
304	DiskCreateOptionTypesEmpty     DiskCreateOptionTypes = "Empty"
305	DiskCreateOptionTypesFromImage DiskCreateOptionTypes = "FromImage"
306)
307
308// PossibleDiskCreateOptionTypesValues returns the possible values for the DiskCreateOptionTypes const type.
309func PossibleDiskCreateOptionTypesValues() []DiskCreateOptionTypes {
310	return []DiskCreateOptionTypes{
311		DiskCreateOptionTypesAttach,
312		DiskCreateOptionTypesEmpty,
313		DiskCreateOptionTypesFromImage,
314	}
315}
316
317// ToPtr returns a *DiskCreateOptionTypes pointing to the current value.
318func (c DiskCreateOptionTypes) ToPtr() *DiskCreateOptionTypes {
319	return &c
320}
321
322// DiskDeleteOptionTypes - Specifies the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. Supported
323// values:
324// Delete If this value is used, the managed disk is deleted when VM gets deleted.
325// Detach If this value is used, the managed disk is retained after VM gets deleted.
326// Minimum api-version: 2021-03-01
327type DiskDeleteOptionTypes string
328
329const (
330	DiskDeleteOptionTypesDelete DiskDeleteOptionTypes = "Delete"
331	DiskDeleteOptionTypesDetach DiskDeleteOptionTypes = "Detach"
332)
333
334// PossibleDiskDeleteOptionTypesValues returns the possible values for the DiskDeleteOptionTypes const type.
335func PossibleDiskDeleteOptionTypesValues() []DiskDeleteOptionTypes {
336	return []DiskDeleteOptionTypes{
337		DiskDeleteOptionTypesDelete,
338		DiskDeleteOptionTypesDetach,
339	}
340}
341
342// ToPtr returns a *DiskDeleteOptionTypes pointing to the current value.
343func (c DiskDeleteOptionTypes) ToPtr() *DiskDeleteOptionTypes {
344	return &c
345}
346
347// DiskDetachOptionTypes - Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual
348// machine. Supported values: ForceDetach.
349// detachOption: ForceDetach is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected
350// failure from the virtual machine and the
351// disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed
352// when using this detach behavior.
353// This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along
354// with setting detachOption: 'ForceDetach'.
355type DiskDetachOptionTypes string
356
357const (
358	DiskDetachOptionTypesForceDetach DiskDetachOptionTypes = "ForceDetach"
359)
360
361// PossibleDiskDetachOptionTypesValues returns the possible values for the DiskDetachOptionTypes const type.
362func PossibleDiskDetachOptionTypesValues() []DiskDetachOptionTypes {
363	return []DiskDetachOptionTypes{
364		DiskDetachOptionTypesForceDetach,
365	}
366}
367
368// ToPtr returns a *DiskDetachOptionTypes pointing to the current value.
369func (c DiskDetachOptionTypes) ToPtr() *DiskDetachOptionTypes {
370	return &c
371}
372
373// DiskEncryptionSetIdentityType - The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk
374// Encryption Sets can be updated with Identity type None during migration of
375// subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys.
376type DiskEncryptionSetIdentityType string
377
378const (
379	DiskEncryptionSetIdentityTypeNone           DiskEncryptionSetIdentityType = "None"
380	DiskEncryptionSetIdentityTypeSystemAssigned DiskEncryptionSetIdentityType = "SystemAssigned"
381)
382
383// PossibleDiskEncryptionSetIdentityTypeValues returns the possible values for the DiskEncryptionSetIdentityType const type.
384func PossibleDiskEncryptionSetIdentityTypeValues() []DiskEncryptionSetIdentityType {
385	return []DiskEncryptionSetIdentityType{
386		DiskEncryptionSetIdentityTypeNone,
387		DiskEncryptionSetIdentityTypeSystemAssigned,
388	}
389}
390
391// ToPtr returns a *DiskEncryptionSetIdentityType pointing to the current value.
392func (c DiskEncryptionSetIdentityType) ToPtr() *DiskEncryptionSetIdentityType {
393	return &c
394}
395
396// DiskEncryptionSetType - The type of key used to encrypt the data of the disk.
397type DiskEncryptionSetType string
398
399const (
400	// DiskEncryptionSetTypeEncryptionAtRestWithCustomerKey - Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can
401	// be changed and revoked by a customer.
402	DiskEncryptionSetTypeEncryptionAtRestWithCustomerKey DiskEncryptionSetType = "EncryptionAtRestWithCustomerKey"
403	// DiskEncryptionSetTypeEncryptionAtRestWithPlatformAndCustomerKeys - Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption.
404	// One of the keys is Customer managed and the other key is Platform managed.
405	DiskEncryptionSetTypeEncryptionAtRestWithPlatformAndCustomerKeys DiskEncryptionSetType = "EncryptionAtRestWithPlatformAndCustomerKeys"
406)
407
408// PossibleDiskEncryptionSetTypeValues returns the possible values for the DiskEncryptionSetType const type.
409func PossibleDiskEncryptionSetTypeValues() []DiskEncryptionSetType {
410	return []DiskEncryptionSetType{
411		DiskEncryptionSetTypeEncryptionAtRestWithCustomerKey,
412		DiskEncryptionSetTypeEncryptionAtRestWithPlatformAndCustomerKeys,
413	}
414}
415
416// ToPtr returns a *DiskEncryptionSetType pointing to the current value.
417func (c DiskEncryptionSetType) ToPtr() *DiskEncryptionSetType {
418	return &c
419}
420
421// DiskSecurityTypes - Specifies the SecurityType of the VM. Applicable for OS disks only.
422type DiskSecurityTypes string
423
424const (
425	// DiskSecurityTypesTrustedLaunch - Trusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
426	DiskSecurityTypesTrustedLaunch DiskSecurityTypes = "TrustedLaunch"
427)
428
429// PossibleDiskSecurityTypesValues returns the possible values for the DiskSecurityTypes const type.
430func PossibleDiskSecurityTypesValues() []DiskSecurityTypes {
431	return []DiskSecurityTypes{
432		DiskSecurityTypesTrustedLaunch,
433	}
434}
435
436// ToPtr returns a *DiskSecurityTypes pointing to the current value.
437func (c DiskSecurityTypes) ToPtr() *DiskSecurityTypes {
438	return &c
439}
440
441// DiskState - This enumerates the possible state of the disk.
442type DiskState string
443
444const (
445	// DiskStateActiveSAS - The disk currently has an Active SAS Uri associated with it.
446	DiskStateActiveSAS DiskState = "ActiveSAS"
447	// DiskStateActiveUpload - A disk is created for upload and a write token has been issued for uploading to it.
448	DiskStateActiveUpload DiskState = "ActiveUpload"
449	// DiskStateAttached - The disk is currently mounted to a running VM.
450	DiskStateAttached DiskState = "Attached"
451	// DiskStateReadyToUpload - A disk is ready to be created by upload by requesting a write token.
452	DiskStateReadyToUpload DiskState = "ReadyToUpload"
453	// DiskStateReserved - The disk is mounted to a stopped-deallocated VM
454	DiskStateReserved DiskState = "Reserved"
455	// DiskStateUnattached - The disk is not being used and can be attached to a VM.
456	DiskStateUnattached DiskState = "Unattached"
457)
458
459// PossibleDiskStateValues returns the possible values for the DiskState const type.
460func PossibleDiskStateValues() []DiskState {
461	return []DiskState{
462		DiskStateActiveSAS,
463		DiskStateActiveUpload,
464		DiskStateAttached,
465		DiskStateReadyToUpload,
466		DiskStateReserved,
467		DiskStateUnattached,
468	}
469}
470
471// ToPtr returns a *DiskState pointing to the current value.
472func (c DiskState) ToPtr() *DiskState {
473	return &c
474}
475
476// DiskStorageAccountTypes - The sku name.
477type DiskStorageAccountTypes string
478
479const (
480	// DiskStorageAccountTypesPremiumLRS - Premium SSD locally redundant storage. Best for production and performance sensitive workloads.
481	DiskStorageAccountTypesPremiumLRS DiskStorageAccountTypes = "Premium_LRS"
482	// DiskStorageAccountTypesPremiumZRS - Premium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures.
483	DiskStorageAccountTypesPremiumZRS DiskStorageAccountTypes = "Premium_ZRS"
484	// DiskStorageAccountTypesStandardLRS - Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.
485	DiskStorageAccountTypesStandardLRS DiskStorageAccountTypes = "Standard_LRS"
486	// DiskStorageAccountTypesStandardSSDLRS - Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.
487	DiskStorageAccountTypesStandardSSDLRS DiskStorageAccountTypes = "StandardSSD_LRS"
488	// DiskStorageAccountTypesStandardSSDZRS - Standard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test
489	// that need storage resiliency against zone failures.
490	DiskStorageAccountTypesStandardSSDZRS DiskStorageAccountTypes = "StandardSSD_ZRS"
491	// DiskStorageAccountTypesUltraSSDLRS - Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example,
492	// SQL, Oracle), and other transaction-heavy workloads.
493	DiskStorageAccountTypesUltraSSDLRS DiskStorageAccountTypes = "UltraSSD_LRS"
494)
495
496// PossibleDiskStorageAccountTypesValues returns the possible values for the DiskStorageAccountTypes const type.
497func PossibleDiskStorageAccountTypesValues() []DiskStorageAccountTypes {
498	return []DiskStorageAccountTypes{
499		DiskStorageAccountTypesPremiumLRS,
500		DiskStorageAccountTypesPremiumZRS,
501		DiskStorageAccountTypesStandardLRS,
502		DiskStorageAccountTypesStandardSSDLRS,
503		DiskStorageAccountTypesStandardSSDZRS,
504		DiskStorageAccountTypesUltraSSDLRS,
505	}
506}
507
508// ToPtr returns a *DiskStorageAccountTypes pointing to the current value.
509func (c DiskStorageAccountTypes) ToPtr() *DiskStorageAccountTypes {
510	return &c
511}
512
513// EncryptionType - The type of key used to encrypt the data of the disk.
514type EncryptionType string
515
516const (
517	// EncryptionTypeEncryptionAtRestWithCustomerKey - Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
518	EncryptionTypeEncryptionAtRestWithCustomerKey EncryptionType = "EncryptionAtRestWithCustomerKey"
519	// EncryptionTypeEncryptionAtRestWithPlatformAndCustomerKeys - Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed
520	// and the other key is Platform managed.
521	EncryptionTypeEncryptionAtRestWithPlatformAndCustomerKeys EncryptionType = "EncryptionAtRestWithPlatformAndCustomerKeys"
522	// EncryptionTypeEncryptionAtRestWithPlatformKey - Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a
523	// valid encryption type for disk encryption sets.
524	EncryptionTypeEncryptionAtRestWithPlatformKey EncryptionType = "EncryptionAtRestWithPlatformKey"
525)
526
527// PossibleEncryptionTypeValues returns the possible values for the EncryptionType const type.
528func PossibleEncryptionTypeValues() []EncryptionType {
529	return []EncryptionType{
530		EncryptionTypeEncryptionAtRestWithCustomerKey,
531		EncryptionTypeEncryptionAtRestWithPlatformAndCustomerKeys,
532		EncryptionTypeEncryptionAtRestWithPlatformKey,
533	}
534}
535
536// ToPtr returns a *EncryptionType pointing to the current value.
537func (c EncryptionType) ToPtr() *EncryptionType {
538	return &c
539}
540
541// ExecutionState - Script execution status.
542type ExecutionState string
543
544const (
545	ExecutionStateCanceled  ExecutionState = "Canceled"
546	ExecutionStateFailed    ExecutionState = "Failed"
547	ExecutionStatePending   ExecutionState = "Pending"
548	ExecutionStateRunning   ExecutionState = "Running"
549	ExecutionStateSucceeded ExecutionState = "Succeeded"
550	ExecutionStateTimedOut  ExecutionState = "TimedOut"
551	ExecutionStateUnknown   ExecutionState = "Unknown"
552)
553
554// PossibleExecutionStateValues returns the possible values for the ExecutionState const type.
555func PossibleExecutionStateValues() []ExecutionState {
556	return []ExecutionState{
557		ExecutionStateCanceled,
558		ExecutionStateFailed,
559		ExecutionStatePending,
560		ExecutionStateRunning,
561		ExecutionStateSucceeded,
562		ExecutionStateTimedOut,
563		ExecutionStateUnknown,
564	}
565}
566
567// ToPtr returns a *ExecutionState pointing to the current value.
568func (c ExecutionState) ToPtr() *ExecutionState {
569	return &c
570}
571
572type ExpandTypesForGetVMScaleSets string
573
574const (
575	ExpandTypesForGetVMScaleSetsUserData ExpandTypesForGetVMScaleSets = "userData"
576)
577
578// PossibleExpandTypesForGetVMScaleSetsValues returns the possible values for the ExpandTypesForGetVMScaleSets const type.
579func PossibleExpandTypesForGetVMScaleSetsValues() []ExpandTypesForGetVMScaleSets {
580	return []ExpandTypesForGetVMScaleSets{
581		ExpandTypesForGetVMScaleSetsUserData,
582	}
583}
584
585// ToPtr returns a *ExpandTypesForGetVMScaleSets pointing to the current value.
586func (c ExpandTypesForGetVMScaleSets) ToPtr() *ExpandTypesForGetVMScaleSets {
587	return &c
588}
589
590// ExtendedLocationTypes - The type of extendedLocation.
591type ExtendedLocationTypes string
592
593const (
594	ExtendedLocationTypesEdgeZone ExtendedLocationTypes = "EdgeZone"
595)
596
597// PossibleExtendedLocationTypesValues returns the possible values for the ExtendedLocationTypes const type.
598func PossibleExtendedLocationTypesValues() []ExtendedLocationTypes {
599	return []ExtendedLocationTypes{
600		ExtendedLocationTypesEdgeZone,
601	}
602}
603
604// ToPtr returns a *ExtendedLocationTypes pointing to the current value.
605func (c ExtendedLocationTypes) ToPtr() *ExtendedLocationTypes {
606	return &c
607}
608
609// GalleryApplicationVersionPropertiesProvisioningState - The provisioning state, which only appears in the response.
610type GalleryApplicationVersionPropertiesProvisioningState string
611
612const (
613	GalleryApplicationVersionPropertiesProvisioningStateCreating  GalleryApplicationVersionPropertiesProvisioningState = "Creating"
614	GalleryApplicationVersionPropertiesProvisioningStateDeleting  GalleryApplicationVersionPropertiesProvisioningState = "Deleting"
615	GalleryApplicationVersionPropertiesProvisioningStateFailed    GalleryApplicationVersionPropertiesProvisioningState = "Failed"
616	GalleryApplicationVersionPropertiesProvisioningStateMigrating GalleryApplicationVersionPropertiesProvisioningState = "Migrating"
617	GalleryApplicationVersionPropertiesProvisioningStateSucceeded GalleryApplicationVersionPropertiesProvisioningState = "Succeeded"
618	GalleryApplicationVersionPropertiesProvisioningStateUpdating  GalleryApplicationVersionPropertiesProvisioningState = "Updating"
619)
620
621// PossibleGalleryApplicationVersionPropertiesProvisioningStateValues returns the possible values for the GalleryApplicationVersionPropertiesProvisioningState const type.
622func PossibleGalleryApplicationVersionPropertiesProvisioningStateValues() []GalleryApplicationVersionPropertiesProvisioningState {
623	return []GalleryApplicationVersionPropertiesProvisioningState{
624		GalleryApplicationVersionPropertiesProvisioningStateCreating,
625		GalleryApplicationVersionPropertiesProvisioningStateDeleting,
626		GalleryApplicationVersionPropertiesProvisioningStateFailed,
627		GalleryApplicationVersionPropertiesProvisioningStateMigrating,
628		GalleryApplicationVersionPropertiesProvisioningStateSucceeded,
629		GalleryApplicationVersionPropertiesProvisioningStateUpdating,
630	}
631}
632
633// ToPtr returns a *GalleryApplicationVersionPropertiesProvisioningState pointing to the current value.
634func (c GalleryApplicationVersionPropertiesProvisioningState) ToPtr() *GalleryApplicationVersionPropertiesProvisioningState {
635	return &c
636}
637
638// GalleryImagePropertiesProvisioningState - The provisioning state, which only appears in the response.
639type GalleryImagePropertiesProvisioningState string
640
641const (
642	GalleryImagePropertiesProvisioningStateCreating  GalleryImagePropertiesProvisioningState = "Creating"
643	GalleryImagePropertiesProvisioningStateDeleting  GalleryImagePropertiesProvisioningState = "Deleting"
644	GalleryImagePropertiesProvisioningStateFailed    GalleryImagePropertiesProvisioningState = "Failed"
645	GalleryImagePropertiesProvisioningStateMigrating GalleryImagePropertiesProvisioningState = "Migrating"
646	GalleryImagePropertiesProvisioningStateSucceeded GalleryImagePropertiesProvisioningState = "Succeeded"
647	GalleryImagePropertiesProvisioningStateUpdating  GalleryImagePropertiesProvisioningState = "Updating"
648)
649
650// PossibleGalleryImagePropertiesProvisioningStateValues returns the possible values for the GalleryImagePropertiesProvisioningState const type.
651func PossibleGalleryImagePropertiesProvisioningStateValues() []GalleryImagePropertiesProvisioningState {
652	return []GalleryImagePropertiesProvisioningState{
653		GalleryImagePropertiesProvisioningStateCreating,
654		GalleryImagePropertiesProvisioningStateDeleting,
655		GalleryImagePropertiesProvisioningStateFailed,
656		GalleryImagePropertiesProvisioningStateMigrating,
657		GalleryImagePropertiesProvisioningStateSucceeded,
658		GalleryImagePropertiesProvisioningStateUpdating,
659	}
660}
661
662// ToPtr returns a *GalleryImagePropertiesProvisioningState pointing to the current value.
663func (c GalleryImagePropertiesProvisioningState) ToPtr() *GalleryImagePropertiesProvisioningState {
664	return &c
665}
666
667// GalleryImageVersionPropertiesProvisioningState - The provisioning state, which only appears in the response.
668type GalleryImageVersionPropertiesProvisioningState string
669
670const (
671	GalleryImageVersionPropertiesProvisioningStateCreating  GalleryImageVersionPropertiesProvisioningState = "Creating"
672	GalleryImageVersionPropertiesProvisioningStateDeleting  GalleryImageVersionPropertiesProvisioningState = "Deleting"
673	GalleryImageVersionPropertiesProvisioningStateFailed    GalleryImageVersionPropertiesProvisioningState = "Failed"
674	GalleryImageVersionPropertiesProvisioningStateMigrating GalleryImageVersionPropertiesProvisioningState = "Migrating"
675	GalleryImageVersionPropertiesProvisioningStateSucceeded GalleryImageVersionPropertiesProvisioningState = "Succeeded"
676	GalleryImageVersionPropertiesProvisioningStateUpdating  GalleryImageVersionPropertiesProvisioningState = "Updating"
677)
678
679// PossibleGalleryImageVersionPropertiesProvisioningStateValues returns the possible values for the GalleryImageVersionPropertiesProvisioningState const type.
680func PossibleGalleryImageVersionPropertiesProvisioningStateValues() []GalleryImageVersionPropertiesProvisioningState {
681	return []GalleryImageVersionPropertiesProvisioningState{
682		GalleryImageVersionPropertiesProvisioningStateCreating,
683		GalleryImageVersionPropertiesProvisioningStateDeleting,
684		GalleryImageVersionPropertiesProvisioningStateFailed,
685		GalleryImageVersionPropertiesProvisioningStateMigrating,
686		GalleryImageVersionPropertiesProvisioningStateSucceeded,
687		GalleryImageVersionPropertiesProvisioningStateUpdating,
688	}
689}
690
691// ToPtr returns a *GalleryImageVersionPropertiesProvisioningState pointing to the current value.
692func (c GalleryImageVersionPropertiesProvisioningState) ToPtr() *GalleryImageVersionPropertiesProvisioningState {
693	return &c
694}
695
696// GalleryPropertiesProvisioningState - The provisioning state, which only appears in the response.
697type GalleryPropertiesProvisioningState string
698
699const (
700	GalleryPropertiesProvisioningStateCreating  GalleryPropertiesProvisioningState = "Creating"
701	GalleryPropertiesProvisioningStateDeleting  GalleryPropertiesProvisioningState = "Deleting"
702	GalleryPropertiesProvisioningStateFailed    GalleryPropertiesProvisioningState = "Failed"
703	GalleryPropertiesProvisioningStateMigrating GalleryPropertiesProvisioningState = "Migrating"
704	GalleryPropertiesProvisioningStateSucceeded GalleryPropertiesProvisioningState = "Succeeded"
705	GalleryPropertiesProvisioningStateUpdating  GalleryPropertiesProvisioningState = "Updating"
706)
707
708// PossibleGalleryPropertiesProvisioningStateValues returns the possible values for the GalleryPropertiesProvisioningState const type.
709func PossibleGalleryPropertiesProvisioningStateValues() []GalleryPropertiesProvisioningState {
710	return []GalleryPropertiesProvisioningState{
711		GalleryPropertiesProvisioningStateCreating,
712		GalleryPropertiesProvisioningStateDeleting,
713		GalleryPropertiesProvisioningStateFailed,
714		GalleryPropertiesProvisioningStateMigrating,
715		GalleryPropertiesProvisioningStateSucceeded,
716		GalleryPropertiesProvisioningStateUpdating,
717	}
718}
719
720// ToPtr returns a *GalleryPropertiesProvisioningState pointing to the current value.
721func (c GalleryPropertiesProvisioningState) ToPtr() *GalleryPropertiesProvisioningState {
722	return &c
723}
724
725// GallerySharingPermissionTypes - This property allows you to specify the permission of sharing gallery.
726// Possible values are:
727// Private
728// Groups
729type GallerySharingPermissionTypes string
730
731const (
732	GallerySharingPermissionTypesGroups  GallerySharingPermissionTypes = "Groups"
733	GallerySharingPermissionTypesPrivate GallerySharingPermissionTypes = "Private"
734)
735
736// PossibleGallerySharingPermissionTypesValues returns the possible values for the GallerySharingPermissionTypes const type.
737func PossibleGallerySharingPermissionTypesValues() []GallerySharingPermissionTypes {
738	return []GallerySharingPermissionTypes{
739		GallerySharingPermissionTypesGroups,
740		GallerySharingPermissionTypesPrivate,
741	}
742}
743
744// ToPtr returns a *GallerySharingPermissionTypes pointing to the current value.
745func (c GallerySharingPermissionTypes) ToPtr() *GallerySharingPermissionTypes {
746	return &c
747}
748
749// HostCaching - The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'
750type HostCaching string
751
752const (
753	HostCachingNone      HostCaching = "None"
754	HostCachingReadOnly  HostCaching = "ReadOnly"
755	HostCachingReadWrite HostCaching = "ReadWrite"
756)
757
758// PossibleHostCachingValues returns the possible values for the HostCaching const type.
759func PossibleHostCachingValues() []HostCaching {
760	return []HostCaching{
761		HostCachingNone,
762		HostCachingReadOnly,
763		HostCachingReadWrite,
764	}
765}
766
767// ToPtr returns a *HostCaching pointing to the current value.
768func (c HostCaching) ToPtr() *HostCaching {
769	return &c
770}
771
772// HyperVGeneration - The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
773type HyperVGeneration string
774
775const (
776	HyperVGenerationV1 HyperVGeneration = "V1"
777	HyperVGenerationV2 HyperVGeneration = "V2"
778)
779
780// PossibleHyperVGenerationValues returns the possible values for the HyperVGeneration const type.
781func PossibleHyperVGenerationValues() []HyperVGeneration {
782	return []HyperVGeneration{
783		HyperVGenerationV1,
784		HyperVGenerationV2,
785	}
786}
787
788// ToPtr returns a *HyperVGeneration pointing to the current value.
789func (c HyperVGeneration) ToPtr() *HyperVGeneration {
790	return &c
791}
792
793// HyperVGenerationType - Specifies the HyperVGeneration Type associated with a resource
794type HyperVGenerationType string
795
796const (
797	HyperVGenerationTypeV1 HyperVGenerationType = "V1"
798	HyperVGenerationTypeV2 HyperVGenerationType = "V2"
799)
800
801// PossibleHyperVGenerationTypeValues returns the possible values for the HyperVGenerationType const type.
802func PossibleHyperVGenerationTypeValues() []HyperVGenerationType {
803	return []HyperVGenerationType{
804		HyperVGenerationTypeV1,
805		HyperVGenerationTypeV2,
806	}
807}
808
809// ToPtr returns a *HyperVGenerationType pointing to the current value.
810func (c HyperVGenerationType) ToPtr() *HyperVGenerationType {
811	return &c
812}
813
814// HyperVGenerationTypes - Specifies the HyperVGeneration Type
815type HyperVGenerationTypes string
816
817const (
818	HyperVGenerationTypesV1 HyperVGenerationTypes = "V1"
819	HyperVGenerationTypesV2 HyperVGenerationTypes = "V2"
820)
821
822// PossibleHyperVGenerationTypesValues returns the possible values for the HyperVGenerationTypes const type.
823func PossibleHyperVGenerationTypesValues() []HyperVGenerationTypes {
824	return []HyperVGenerationTypes{
825		HyperVGenerationTypesV1,
826		HyperVGenerationTypesV2,
827	}
828}
829
830// ToPtr returns a *HyperVGenerationTypes pointing to the current value.
831func (c HyperVGenerationTypes) ToPtr() *HyperVGenerationTypes {
832	return &c
833}
834
835// IPVersion - Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
836// Possible values are: 'IPv4' and 'IPv6'.
837type IPVersion string
838
839const (
840	IPVersionIPv4 IPVersion = "IPv4"
841	IPVersionIPv6 IPVersion = "IPv6"
842)
843
844// PossibleIPVersionValues returns the possible values for the IPVersion const type.
845func PossibleIPVersionValues() []IPVersion {
846	return []IPVersion{
847		IPVersionIPv4,
848		IPVersionIPv6,
849	}
850}
851
852// ToPtr returns a *IPVersion pointing to the current value.
853func (c IPVersion) ToPtr() *IPVersion {
854	return &c
855}
856
857// IPVersions - Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
858// Possible values are: 'IPv4' and 'IPv6'.
859type IPVersions string
860
861const (
862	IPVersionsIPv4 IPVersions = "IPv4"
863	IPVersionsIPv6 IPVersions = "IPv6"
864)
865
866// PossibleIPVersionsValues returns the possible values for the IPVersions const type.
867func PossibleIPVersionsValues() []IPVersions {
868	return []IPVersions{
869		IPVersionsIPv4,
870		IPVersionsIPv6,
871	}
872}
873
874// ToPtr returns a *IPVersions pointing to the current value.
875func (c IPVersions) ToPtr() *IPVersions {
876	return &c
877}
878
879type InstanceViewTypes string
880
881const (
882	InstanceViewTypesInstanceView InstanceViewTypes = "instanceView"
883	InstanceViewTypesUserData     InstanceViewTypes = "userData"
884)
885
886// PossibleInstanceViewTypesValues returns the possible values for the InstanceViewTypes const type.
887func PossibleInstanceViewTypesValues() []InstanceViewTypes {
888	return []InstanceViewTypes{
889		InstanceViewTypesInstanceView,
890		InstanceViewTypesUserData,
891	}
892}
893
894// ToPtr returns a *InstanceViewTypes pointing to the current value.
895func (c InstanceViewTypes) ToPtr() *InstanceViewTypes {
896	return &c
897}
898
899// IntervalInMins - Interval value in minutes used to create LogAnalytics call rate logs.
900type IntervalInMins string
901
902const (
903	IntervalInMinsThreeMins  IntervalInMins = "ThreeMins"
904	IntervalInMinsFiveMins   IntervalInMins = "FiveMins"
905	IntervalInMinsThirtyMins IntervalInMins = "ThirtyMins"
906	IntervalInMinsSixtyMins  IntervalInMins = "SixtyMins"
907)
908
909// PossibleIntervalInMinsValues returns the possible values for the IntervalInMins const type.
910func PossibleIntervalInMinsValues() []IntervalInMins {
911	return []IntervalInMins{
912		IntervalInMinsThreeMins,
913		IntervalInMinsFiveMins,
914		IntervalInMinsThirtyMins,
915		IntervalInMinsSixtyMins,
916	}
917}
918
919// ToPtr returns a *IntervalInMins pointing to the current value.
920func (c IntervalInMins) ToPtr() *IntervalInMins {
921	return &c
922}
923
924// LinuxPatchAssessmentMode - Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.
925// Possible values are:
926// ImageDefault - You control the timing of patch assessments on a virtual machine.
927// AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
928type LinuxPatchAssessmentMode string
929
930const (
931	LinuxPatchAssessmentModeAutomaticByPlatform LinuxPatchAssessmentMode = "AutomaticByPlatform"
932	LinuxPatchAssessmentModeImageDefault        LinuxPatchAssessmentMode = "ImageDefault"
933)
934
935// PossibleLinuxPatchAssessmentModeValues returns the possible values for the LinuxPatchAssessmentMode const type.
936func PossibleLinuxPatchAssessmentModeValues() []LinuxPatchAssessmentMode {
937	return []LinuxPatchAssessmentMode{
938		LinuxPatchAssessmentModeAutomaticByPlatform,
939		LinuxPatchAssessmentModeImageDefault,
940	}
941}
942
943// ToPtr returns a *LinuxPatchAssessmentMode pointing to the current value.
944func (c LinuxPatchAssessmentMode) ToPtr() *LinuxPatchAssessmentMode {
945	return &c
946}
947
948// LinuxVMGuestPatchMode - Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with
949// OrchestrationMode as Flexible.
950// Possible values are:
951// ImageDefault - The virtual machine's default patching configuration is used.
952// AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
953type LinuxVMGuestPatchMode string
954
955const (
956	LinuxVMGuestPatchModeAutomaticByPlatform LinuxVMGuestPatchMode = "AutomaticByPlatform"
957	LinuxVMGuestPatchModeImageDefault        LinuxVMGuestPatchMode = "ImageDefault"
958)
959
960// PossibleLinuxVMGuestPatchModeValues returns the possible values for the LinuxVMGuestPatchMode const type.
961func PossibleLinuxVMGuestPatchModeValues() []LinuxVMGuestPatchMode {
962	return []LinuxVMGuestPatchMode{
963		LinuxVMGuestPatchModeAutomaticByPlatform,
964		LinuxVMGuestPatchModeImageDefault,
965	}
966}
967
968// ToPtr returns a *LinuxVMGuestPatchMode pointing to the current value.
969func (c LinuxVMGuestPatchMode) ToPtr() *LinuxVMGuestPatchMode {
970	return &c
971}
972
973// MaintenanceOperationResultCodeTypes - The Last Maintenance Operation Result Code.
974type MaintenanceOperationResultCodeTypes string
975
976const (
977	MaintenanceOperationResultCodeTypesNone                 MaintenanceOperationResultCodeTypes = "None"
978	MaintenanceOperationResultCodeTypesRetryLater           MaintenanceOperationResultCodeTypes = "RetryLater"
979	MaintenanceOperationResultCodeTypesMaintenanceAborted   MaintenanceOperationResultCodeTypes = "MaintenanceAborted"
980	MaintenanceOperationResultCodeTypesMaintenanceCompleted MaintenanceOperationResultCodeTypes = "MaintenanceCompleted"
981)
982
983// PossibleMaintenanceOperationResultCodeTypesValues returns the possible values for the MaintenanceOperationResultCodeTypes const type.
984func PossibleMaintenanceOperationResultCodeTypesValues() []MaintenanceOperationResultCodeTypes {
985	return []MaintenanceOperationResultCodeTypes{
986		MaintenanceOperationResultCodeTypesNone,
987		MaintenanceOperationResultCodeTypesRetryLater,
988		MaintenanceOperationResultCodeTypesMaintenanceAborted,
989		MaintenanceOperationResultCodeTypesMaintenanceCompleted,
990	}
991}
992
993// ToPtr returns a *MaintenanceOperationResultCodeTypes pointing to the current value.
994func (c MaintenanceOperationResultCodeTypes) ToPtr() *MaintenanceOperationResultCodeTypes {
995	return &c
996}
997
998// NetworkAPIVersion - specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations
999type NetworkAPIVersion string
1000
1001const (
1002	NetworkAPIVersionTwoThousandTwenty1101 NetworkAPIVersion = "2020-11-01"
1003)
1004
1005// PossibleNetworkAPIVersionValues returns the possible values for the NetworkAPIVersion const type.
1006func PossibleNetworkAPIVersionValues() []NetworkAPIVersion {
1007	return []NetworkAPIVersion{
1008		NetworkAPIVersionTwoThousandTwenty1101,
1009	}
1010}
1011
1012// ToPtr returns a *NetworkAPIVersion pointing to the current value.
1013func (c NetworkAPIVersion) ToPtr() *NetworkAPIVersion {
1014	return &c
1015}
1016
1017// NetworkAccessPolicy - Policy for accessing the disk via network.
1018type NetworkAccessPolicy string
1019
1020const (
1021	// NetworkAccessPolicyAllowAll - The disk can be exported or uploaded to from any network.
1022	NetworkAccessPolicyAllowAll NetworkAccessPolicy = "AllowAll"
1023	// NetworkAccessPolicyAllowPrivate - The disk can be exported or uploaded to using a DiskAccess resource's private endpoints.
1024	NetworkAccessPolicyAllowPrivate NetworkAccessPolicy = "AllowPrivate"
1025	// NetworkAccessPolicyDenyAll - The disk cannot be exported.
1026	NetworkAccessPolicyDenyAll NetworkAccessPolicy = "DenyAll"
1027)
1028
1029// PossibleNetworkAccessPolicyValues returns the possible values for the NetworkAccessPolicy const type.
1030func PossibleNetworkAccessPolicyValues() []NetworkAccessPolicy {
1031	return []NetworkAccessPolicy{
1032		NetworkAccessPolicyAllowAll,
1033		NetworkAccessPolicyAllowPrivate,
1034		NetworkAccessPolicyDenyAll,
1035	}
1036}
1037
1038// ToPtr returns a *NetworkAccessPolicy pointing to the current value.
1039func (c NetworkAccessPolicy) ToPtr() *NetworkAccessPolicy {
1040	return &c
1041}
1042
1043// OperatingSystemStateTypes - This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'.
1044type OperatingSystemStateTypes string
1045
1046const (
1047	OperatingSystemStateTypesGeneralized OperatingSystemStateTypes = "Generalized"
1048	OperatingSystemStateTypesSpecialized OperatingSystemStateTypes = "Specialized"
1049)
1050
1051// PossibleOperatingSystemStateTypesValues returns the possible values for the OperatingSystemStateTypes const type.
1052func PossibleOperatingSystemStateTypesValues() []OperatingSystemStateTypes {
1053	return []OperatingSystemStateTypes{
1054		OperatingSystemStateTypesGeneralized,
1055		OperatingSystemStateTypesSpecialized,
1056	}
1057}
1058
1059// ToPtr returns a *OperatingSystemStateTypes pointing to the current value.
1060func (c OperatingSystemStateTypes) ToPtr() *OperatingSystemStateTypes {
1061	return &c
1062}
1063
1064// OperatingSystemType - Gets the Operating System type.
1065type OperatingSystemType string
1066
1067const (
1068	OperatingSystemTypeLinux   OperatingSystemType = "Linux"
1069	OperatingSystemTypeWindows OperatingSystemType = "Windows"
1070)
1071
1072// PossibleOperatingSystemTypeValues returns the possible values for the OperatingSystemType const type.
1073func PossibleOperatingSystemTypeValues() []OperatingSystemType {
1074	return []OperatingSystemType{
1075		OperatingSystemTypeLinux,
1076		OperatingSystemTypeWindows,
1077	}
1078}
1079
1080// ToPtr returns a *OperatingSystemType pointing to the current value.
1081func (c OperatingSystemType) ToPtr() *OperatingSystemType {
1082	return &c
1083}
1084
1085// OperatingSystemTypes - This property allows you to specify the supported type of the OS that application is built for.
1086// Possible values are:
1087// Windows
1088// Linux
1089type OperatingSystemTypes string
1090
1091const (
1092	OperatingSystemTypesWindows OperatingSystemTypes = "Windows"
1093	OperatingSystemTypesLinux   OperatingSystemTypes = "Linux"
1094)
1095
1096// PossibleOperatingSystemTypesValues returns the possible values for the OperatingSystemTypes const type.
1097func PossibleOperatingSystemTypesValues() []OperatingSystemTypes {
1098	return []OperatingSystemTypes{
1099		OperatingSystemTypesWindows,
1100		OperatingSystemTypesLinux,
1101	}
1102}
1103
1104// ToPtr returns a *OperatingSystemTypes pointing to the current value.
1105func (c OperatingSystemTypes) ToPtr() *OperatingSystemTypes {
1106	return &c
1107}
1108
1109// OrchestrationMode - Specifies the orchestration mode for the virtual machine scale set.
1110type OrchestrationMode string
1111
1112const (
1113	OrchestrationModeFlexible OrchestrationMode = "Flexible"
1114	OrchestrationModeUniform  OrchestrationMode = "Uniform"
1115)
1116
1117// PossibleOrchestrationModeValues returns the possible values for the OrchestrationMode const type.
1118func PossibleOrchestrationModeValues() []OrchestrationMode {
1119	return []OrchestrationMode{
1120		OrchestrationModeFlexible,
1121		OrchestrationModeUniform,
1122	}
1123}
1124
1125// ToPtr returns a *OrchestrationMode pointing to the current value.
1126func (c OrchestrationMode) ToPtr() *OrchestrationMode {
1127	return &c
1128}
1129
1130// OrchestrationServiceNames - The name of the service.
1131type OrchestrationServiceNames string
1132
1133const (
1134	OrchestrationServiceNamesAutomaticRepairs OrchestrationServiceNames = "AutomaticRepairs"
1135)
1136
1137// PossibleOrchestrationServiceNamesValues returns the possible values for the OrchestrationServiceNames const type.
1138func PossibleOrchestrationServiceNamesValues() []OrchestrationServiceNames {
1139	return []OrchestrationServiceNames{
1140		OrchestrationServiceNamesAutomaticRepairs,
1141	}
1142}
1143
1144// ToPtr returns a *OrchestrationServiceNames pointing to the current value.
1145func (c OrchestrationServiceNames) ToPtr() *OrchestrationServiceNames {
1146	return &c
1147}
1148
1149// OrchestrationServiceState - The current state of the service.
1150type OrchestrationServiceState string
1151
1152const (
1153	OrchestrationServiceStateNotRunning OrchestrationServiceState = "NotRunning"
1154	OrchestrationServiceStateRunning    OrchestrationServiceState = "Running"
1155	OrchestrationServiceStateSuspended  OrchestrationServiceState = "Suspended"
1156)
1157
1158// PossibleOrchestrationServiceStateValues returns the possible values for the OrchestrationServiceState const type.
1159func PossibleOrchestrationServiceStateValues() []OrchestrationServiceState {
1160	return []OrchestrationServiceState{
1161		OrchestrationServiceStateNotRunning,
1162		OrchestrationServiceStateRunning,
1163		OrchestrationServiceStateSuspended,
1164	}
1165}
1166
1167// ToPtr returns a *OrchestrationServiceState pointing to the current value.
1168func (c OrchestrationServiceState) ToPtr() *OrchestrationServiceState {
1169	return &c
1170}
1171
1172// OrchestrationServiceStateAction - The action to be performed.
1173type OrchestrationServiceStateAction string
1174
1175const (
1176	OrchestrationServiceStateActionResume  OrchestrationServiceStateAction = "Resume"
1177	OrchestrationServiceStateActionSuspend OrchestrationServiceStateAction = "Suspend"
1178)
1179
1180// PossibleOrchestrationServiceStateActionValues returns the possible values for the OrchestrationServiceStateAction const type.
1181func PossibleOrchestrationServiceStateActionValues() []OrchestrationServiceStateAction {
1182	return []OrchestrationServiceStateAction{
1183		OrchestrationServiceStateActionResume,
1184		OrchestrationServiceStateActionSuspend,
1185	}
1186}
1187
1188// ToPtr returns a *OrchestrationServiceStateAction pointing to the current value.
1189func (c OrchestrationServiceStateAction) ToPtr() *OrchestrationServiceStateAction {
1190	return &c
1191}
1192
1193// PatchAssessmentState - Describes the availability of a given patch.
1194type PatchAssessmentState string
1195
1196const (
1197	PatchAssessmentStateAvailable PatchAssessmentState = "Available"
1198	PatchAssessmentStateUnknown   PatchAssessmentState = "Unknown"
1199)
1200
1201// PossiblePatchAssessmentStateValues returns the possible values for the PatchAssessmentState const type.
1202func PossiblePatchAssessmentStateValues() []PatchAssessmentState {
1203	return []PatchAssessmentState{
1204		PatchAssessmentStateAvailable,
1205		PatchAssessmentStateUnknown,
1206	}
1207}
1208
1209// ToPtr returns a *PatchAssessmentState pointing to the current value.
1210func (c PatchAssessmentState) ToPtr() *PatchAssessmentState {
1211	return &c
1212}
1213
1214// PatchInstallationState - The state of the patch after the installation operation completed.
1215type PatchInstallationState string
1216
1217const (
1218	PatchInstallationStateExcluded    PatchInstallationState = "Excluded"
1219	PatchInstallationStateFailed      PatchInstallationState = "Failed"
1220	PatchInstallationStateInstalled   PatchInstallationState = "Installed"
1221	PatchInstallationStateNotSelected PatchInstallationState = "NotSelected"
1222	PatchInstallationStatePending     PatchInstallationState = "Pending"
1223	PatchInstallationStateUnknown     PatchInstallationState = "Unknown"
1224)
1225
1226// PossiblePatchInstallationStateValues returns the possible values for the PatchInstallationState const type.
1227func PossiblePatchInstallationStateValues() []PatchInstallationState {
1228	return []PatchInstallationState{
1229		PatchInstallationStateExcluded,
1230		PatchInstallationStateFailed,
1231		PatchInstallationStateInstalled,
1232		PatchInstallationStateNotSelected,
1233		PatchInstallationStatePending,
1234		PatchInstallationStateUnknown,
1235	}
1236}
1237
1238// ToPtr returns a *PatchInstallationState pointing to the current value.
1239func (c PatchInstallationState) ToPtr() *PatchInstallationState {
1240	return &c
1241}
1242
1243// PatchOperationStatus - The overall success or failure status of the operation. It remains "InProgress" until the operation completes. At that point it
1244// will become "Unknown", "Failed", "Succeeded", or
1245// "CompletedWithWarnings."
1246type PatchOperationStatus string
1247
1248const (
1249	PatchOperationStatusCompletedWithWarnings PatchOperationStatus = "CompletedWithWarnings"
1250	PatchOperationStatusFailed                PatchOperationStatus = "Failed"
1251	PatchOperationStatusInProgress            PatchOperationStatus = "InProgress"
1252	PatchOperationStatusSucceeded             PatchOperationStatus = "Succeeded"
1253	PatchOperationStatusUnknown               PatchOperationStatus = "Unknown"
1254)
1255
1256// PossiblePatchOperationStatusValues returns the possible values for the PatchOperationStatus const type.
1257func PossiblePatchOperationStatusValues() []PatchOperationStatus {
1258	return []PatchOperationStatus{
1259		PatchOperationStatusCompletedWithWarnings,
1260		PatchOperationStatusFailed,
1261		PatchOperationStatusInProgress,
1262		PatchOperationStatusSucceeded,
1263		PatchOperationStatusUnknown,
1264	}
1265}
1266
1267// ToPtr returns a *PatchOperationStatus pointing to the current value.
1268func (c PatchOperationStatus) ToPtr() *PatchOperationStatus {
1269	return &c
1270}
1271
1272// PrivateEndpointConnectionProvisioningState - The current provisioning state.
1273type PrivateEndpointConnectionProvisioningState string
1274
1275const (
1276	PrivateEndpointConnectionProvisioningStateCreating  PrivateEndpointConnectionProvisioningState = "Creating"
1277	PrivateEndpointConnectionProvisioningStateDeleting  PrivateEndpointConnectionProvisioningState = "Deleting"
1278	PrivateEndpointConnectionProvisioningStateFailed    PrivateEndpointConnectionProvisioningState = "Failed"
1279	PrivateEndpointConnectionProvisioningStateSucceeded PrivateEndpointConnectionProvisioningState = "Succeeded"
1280)
1281
1282// PossiblePrivateEndpointConnectionProvisioningStateValues returns the possible values for the PrivateEndpointConnectionProvisioningState const type.
1283func PossiblePrivateEndpointConnectionProvisioningStateValues() []PrivateEndpointConnectionProvisioningState {
1284	return []PrivateEndpointConnectionProvisioningState{
1285		PrivateEndpointConnectionProvisioningStateCreating,
1286		PrivateEndpointConnectionProvisioningStateDeleting,
1287		PrivateEndpointConnectionProvisioningStateFailed,
1288		PrivateEndpointConnectionProvisioningStateSucceeded,
1289	}
1290}
1291
1292// ToPtr returns a *PrivateEndpointConnectionProvisioningState pointing to the current value.
1293func (c PrivateEndpointConnectionProvisioningState) ToPtr() *PrivateEndpointConnectionProvisioningState {
1294	return &c
1295}
1296
1297// PrivateEndpointServiceConnectionStatus - The private endpoint connection status.
1298type PrivateEndpointServiceConnectionStatus string
1299
1300const (
1301	PrivateEndpointServiceConnectionStatusApproved PrivateEndpointServiceConnectionStatus = "Approved"
1302	PrivateEndpointServiceConnectionStatusPending  PrivateEndpointServiceConnectionStatus = "Pending"
1303	PrivateEndpointServiceConnectionStatusRejected PrivateEndpointServiceConnectionStatus = "Rejected"
1304)
1305
1306// PossiblePrivateEndpointServiceConnectionStatusValues returns the possible values for the PrivateEndpointServiceConnectionStatus const type.
1307func PossiblePrivateEndpointServiceConnectionStatusValues() []PrivateEndpointServiceConnectionStatus {
1308	return []PrivateEndpointServiceConnectionStatus{
1309		PrivateEndpointServiceConnectionStatusApproved,
1310		PrivateEndpointServiceConnectionStatusPending,
1311		PrivateEndpointServiceConnectionStatusRejected,
1312	}
1313}
1314
1315// ToPtr returns a *PrivateEndpointServiceConnectionStatus pointing to the current value.
1316func (c PrivateEndpointServiceConnectionStatus) ToPtr() *PrivateEndpointServiceConnectionStatus {
1317	return &c
1318}
1319
1320// ProtocolTypes - Specifies the protocol of WinRM listener.
1321// Possible values are:
1322// http
1323// https
1324type ProtocolTypes string
1325
1326const (
1327	ProtocolTypesHTTP  ProtocolTypes = "Http"
1328	ProtocolTypesHTTPS ProtocolTypes = "Https"
1329)
1330
1331// PossibleProtocolTypesValues returns the possible values for the ProtocolTypes const type.
1332func PossibleProtocolTypesValues() []ProtocolTypes {
1333	return []ProtocolTypes{
1334		ProtocolTypesHTTP,
1335		ProtocolTypesHTTPS,
1336	}
1337}
1338
1339// ToPtr returns a *ProtocolTypes pointing to the current value.
1340func (c ProtocolTypes) ToPtr() *ProtocolTypes {
1341	return &c
1342}
1343
1344// ProximityPlacementGroupType - Specifies the type of the proximity placement group.
1345// Possible values are:
1346// Standard : Co-locate resources within an Azure region or Availability Zone.
1347// Ultra : For future use.
1348type ProximityPlacementGroupType string
1349
1350const (
1351	ProximityPlacementGroupTypeStandard ProximityPlacementGroupType = "Standard"
1352	ProximityPlacementGroupTypeUltra    ProximityPlacementGroupType = "Ultra"
1353)
1354
1355// PossibleProximityPlacementGroupTypeValues returns the possible values for the ProximityPlacementGroupType const type.
1356func PossibleProximityPlacementGroupTypeValues() []ProximityPlacementGroupType {
1357	return []ProximityPlacementGroupType{
1358		ProximityPlacementGroupTypeStandard,
1359		ProximityPlacementGroupTypeUltra,
1360	}
1361}
1362
1363// ToPtr returns a *ProximityPlacementGroupType pointing to the current value.
1364func (c ProximityPlacementGroupType) ToPtr() *ProximityPlacementGroupType {
1365	return &c
1366}
1367
1368// PublicIPAddressSKUName - Specify public IP sku name
1369type PublicIPAddressSKUName string
1370
1371const (
1372	PublicIPAddressSKUNameBasic    PublicIPAddressSKUName = "Basic"
1373	PublicIPAddressSKUNameStandard PublicIPAddressSKUName = "Standard"
1374)
1375
1376// PossiblePublicIPAddressSKUNameValues returns the possible values for the PublicIPAddressSKUName const type.
1377func PossiblePublicIPAddressSKUNameValues() []PublicIPAddressSKUName {
1378	return []PublicIPAddressSKUName{
1379		PublicIPAddressSKUNameBasic,
1380		PublicIPAddressSKUNameStandard,
1381	}
1382}
1383
1384// ToPtr returns a *PublicIPAddressSKUName pointing to the current value.
1385func (c PublicIPAddressSKUName) ToPtr() *PublicIPAddressSKUName {
1386	return &c
1387}
1388
1389// PublicIPAddressSKUTier - Specify public IP sku tier
1390type PublicIPAddressSKUTier string
1391
1392const (
1393	PublicIPAddressSKUTierGlobal   PublicIPAddressSKUTier = "Global"
1394	PublicIPAddressSKUTierRegional PublicIPAddressSKUTier = "Regional"
1395)
1396
1397// PossiblePublicIPAddressSKUTierValues returns the possible values for the PublicIPAddressSKUTier const type.
1398func PossiblePublicIPAddressSKUTierValues() []PublicIPAddressSKUTier {
1399	return []PublicIPAddressSKUTier{
1400		PublicIPAddressSKUTierGlobal,
1401		PublicIPAddressSKUTierRegional,
1402	}
1403}
1404
1405// ToPtr returns a *PublicIPAddressSKUTier pointing to the current value.
1406func (c PublicIPAddressSKUTier) ToPtr() *PublicIPAddressSKUTier {
1407	return &c
1408}
1409
1410// PublicIPAllocationMethod - Specify the public IP allocation type
1411type PublicIPAllocationMethod string
1412
1413const (
1414	PublicIPAllocationMethodDynamic PublicIPAllocationMethod = "Dynamic"
1415	PublicIPAllocationMethodStatic  PublicIPAllocationMethod = "Static"
1416)
1417
1418// PossiblePublicIPAllocationMethodValues returns the possible values for the PublicIPAllocationMethod const type.
1419func PossiblePublicIPAllocationMethodValues() []PublicIPAllocationMethod {
1420	return []PublicIPAllocationMethod{
1421		PublicIPAllocationMethodDynamic,
1422		PublicIPAllocationMethodStatic,
1423	}
1424}
1425
1426// ToPtr returns a *PublicIPAllocationMethod pointing to the current value.
1427func (c PublicIPAllocationMethod) ToPtr() *PublicIPAllocationMethod {
1428	return &c
1429}
1430
1431// ReplicationState - This is the regional replication state.
1432type ReplicationState string
1433
1434const (
1435	ReplicationStateCompleted   ReplicationState = "Completed"
1436	ReplicationStateFailed      ReplicationState = "Failed"
1437	ReplicationStateReplicating ReplicationState = "Replicating"
1438	ReplicationStateUnknown     ReplicationState = "Unknown"
1439)
1440
1441// PossibleReplicationStateValues returns the possible values for the ReplicationState const type.
1442func PossibleReplicationStateValues() []ReplicationState {
1443	return []ReplicationState{
1444		ReplicationStateCompleted,
1445		ReplicationStateFailed,
1446		ReplicationStateReplicating,
1447		ReplicationStateUnknown,
1448	}
1449}
1450
1451// ToPtr returns a *ReplicationState pointing to the current value.
1452func (c ReplicationState) ToPtr() *ReplicationState {
1453	return &c
1454}
1455
1456type ReplicationStatusTypes string
1457
1458const (
1459	ReplicationStatusTypesReplicationStatus ReplicationStatusTypes = "ReplicationStatus"
1460)
1461
1462// PossibleReplicationStatusTypesValues returns the possible values for the ReplicationStatusTypes const type.
1463func PossibleReplicationStatusTypesValues() []ReplicationStatusTypes {
1464	return []ReplicationStatusTypes{
1465		ReplicationStatusTypesReplicationStatus,
1466	}
1467}
1468
1469// ToPtr returns a *ReplicationStatusTypes pointing to the current value.
1470func (c ReplicationStatusTypes) ToPtr() *ReplicationStatusTypes {
1471	return &c
1472}
1473
1474// ResourceIdentityType - The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created
1475// identity and a set of user assigned identities. The type 'None' will
1476// remove any identities from the virtual machine.
1477type ResourceIdentityType string
1478
1479const (
1480	ResourceIdentityTypeSystemAssigned             ResourceIdentityType = "SystemAssigned"
1481	ResourceIdentityTypeUserAssigned               ResourceIdentityType = "UserAssigned"
1482	ResourceIdentityTypeSystemAssignedUserAssigned ResourceIdentityType = "SystemAssigned, UserAssigned"
1483	ResourceIdentityTypeNone                       ResourceIdentityType = "None"
1484)
1485
1486// PossibleResourceIdentityTypeValues returns the possible values for the ResourceIdentityType const type.
1487func PossibleResourceIdentityTypeValues() []ResourceIdentityType {
1488	return []ResourceIdentityType{
1489		ResourceIdentityTypeSystemAssigned,
1490		ResourceIdentityTypeUserAssigned,
1491		ResourceIdentityTypeSystemAssignedUserAssigned,
1492		ResourceIdentityTypeNone,
1493	}
1494}
1495
1496// ToPtr returns a *ResourceIdentityType pointing to the current value.
1497func (c ResourceIdentityType) ToPtr() *ResourceIdentityType {
1498	return &c
1499}
1500
1501// ResourceSKUCapacityScaleType - The scale type applicable to the sku.
1502type ResourceSKUCapacityScaleType string
1503
1504const (
1505	ResourceSKUCapacityScaleTypeAutomatic ResourceSKUCapacityScaleType = "Automatic"
1506	ResourceSKUCapacityScaleTypeManual    ResourceSKUCapacityScaleType = "Manual"
1507	ResourceSKUCapacityScaleTypeNone      ResourceSKUCapacityScaleType = "None"
1508)
1509
1510// PossibleResourceSKUCapacityScaleTypeValues returns the possible values for the ResourceSKUCapacityScaleType const type.
1511func PossibleResourceSKUCapacityScaleTypeValues() []ResourceSKUCapacityScaleType {
1512	return []ResourceSKUCapacityScaleType{
1513		ResourceSKUCapacityScaleTypeAutomatic,
1514		ResourceSKUCapacityScaleTypeManual,
1515		ResourceSKUCapacityScaleTypeNone,
1516	}
1517}
1518
1519// ToPtr returns a *ResourceSKUCapacityScaleType pointing to the current value.
1520func (c ResourceSKUCapacityScaleType) ToPtr() *ResourceSKUCapacityScaleType {
1521	return &c
1522}
1523
1524// ResourceSKURestrictionsReasonCode - The reason for restriction.
1525type ResourceSKURestrictionsReasonCode string
1526
1527const (
1528	ResourceSKURestrictionsReasonCodeQuotaID                     ResourceSKURestrictionsReasonCode = "QuotaId"
1529	ResourceSKURestrictionsReasonCodeNotAvailableForSubscription ResourceSKURestrictionsReasonCode = "NotAvailableForSubscription"
1530)
1531
1532// PossibleResourceSKURestrictionsReasonCodeValues returns the possible values for the ResourceSKURestrictionsReasonCode const type.
1533func PossibleResourceSKURestrictionsReasonCodeValues() []ResourceSKURestrictionsReasonCode {
1534	return []ResourceSKURestrictionsReasonCode{
1535		ResourceSKURestrictionsReasonCodeQuotaID,
1536		ResourceSKURestrictionsReasonCodeNotAvailableForSubscription,
1537	}
1538}
1539
1540// ToPtr returns a *ResourceSKURestrictionsReasonCode pointing to the current value.
1541func (c ResourceSKURestrictionsReasonCode) ToPtr() *ResourceSKURestrictionsReasonCode {
1542	return &c
1543}
1544
1545// ResourceSKURestrictionsType - The type of restrictions.
1546type ResourceSKURestrictionsType string
1547
1548const (
1549	ResourceSKURestrictionsTypeLocation ResourceSKURestrictionsType = "Location"
1550	ResourceSKURestrictionsTypeZone     ResourceSKURestrictionsType = "Zone"
1551)
1552
1553// PossibleResourceSKURestrictionsTypeValues returns the possible values for the ResourceSKURestrictionsType const type.
1554func PossibleResourceSKURestrictionsTypeValues() []ResourceSKURestrictionsType {
1555	return []ResourceSKURestrictionsType{
1556		ResourceSKURestrictionsTypeLocation,
1557		ResourceSKURestrictionsTypeZone,
1558	}
1559}
1560
1561// ToPtr returns a *ResourceSKURestrictionsType pointing to the current value.
1562func (c ResourceSKURestrictionsType) ToPtr() *ResourceSKURestrictionsType {
1563	return &c
1564}
1565
1566type RestorePointCollectionExpandOptions string
1567
1568const (
1569	RestorePointCollectionExpandOptionsRestorePoints RestorePointCollectionExpandOptions = "restorePoints"
1570)
1571
1572// PossibleRestorePointCollectionExpandOptionsValues returns the possible values for the RestorePointCollectionExpandOptions const type.
1573func PossibleRestorePointCollectionExpandOptionsValues() []RestorePointCollectionExpandOptions {
1574	return []RestorePointCollectionExpandOptions{
1575		RestorePointCollectionExpandOptionsRestorePoints,
1576	}
1577}
1578
1579// ToPtr returns a *RestorePointCollectionExpandOptions pointing to the current value.
1580func (c RestorePointCollectionExpandOptions) ToPtr() *RestorePointCollectionExpandOptions {
1581	return &c
1582}
1583
1584// RollingUpgradeActionType - The last action performed on the rolling upgrade.
1585type RollingUpgradeActionType string
1586
1587const (
1588	RollingUpgradeActionTypeStart  RollingUpgradeActionType = "Start"
1589	RollingUpgradeActionTypeCancel RollingUpgradeActionType = "Cancel"
1590)
1591
1592// PossibleRollingUpgradeActionTypeValues returns the possible values for the RollingUpgradeActionType const type.
1593func PossibleRollingUpgradeActionTypeValues() []RollingUpgradeActionType {
1594	return []RollingUpgradeActionType{
1595		RollingUpgradeActionTypeStart,
1596		RollingUpgradeActionTypeCancel,
1597	}
1598}
1599
1600// ToPtr returns a *RollingUpgradeActionType pointing to the current value.
1601func (c RollingUpgradeActionType) ToPtr() *RollingUpgradeActionType {
1602	return &c
1603}
1604
1605// RollingUpgradeStatusCode - Code indicating the current status of the upgrade.
1606type RollingUpgradeStatusCode string
1607
1608const (
1609	RollingUpgradeStatusCodeRollingForward RollingUpgradeStatusCode = "RollingForward"
1610	RollingUpgradeStatusCodeCancelled      RollingUpgradeStatusCode = "Cancelled"
1611	RollingUpgradeStatusCodeCompleted      RollingUpgradeStatusCode = "Completed"
1612	RollingUpgradeStatusCodeFaulted        RollingUpgradeStatusCode = "Faulted"
1613)
1614
1615// PossibleRollingUpgradeStatusCodeValues returns the possible values for the RollingUpgradeStatusCode const type.
1616func PossibleRollingUpgradeStatusCodeValues() []RollingUpgradeStatusCode {
1617	return []RollingUpgradeStatusCode{
1618		RollingUpgradeStatusCodeRollingForward,
1619		RollingUpgradeStatusCodeCancelled,
1620		RollingUpgradeStatusCodeCompleted,
1621		RollingUpgradeStatusCodeFaulted,
1622	}
1623}
1624
1625// ToPtr returns a *RollingUpgradeStatusCode pointing to the current value.
1626func (c RollingUpgradeStatusCode) ToPtr() *RollingUpgradeStatusCode {
1627	return &c
1628}
1629
1630type SelectPermissions string
1631
1632const (
1633	SelectPermissionsPermissions SelectPermissions = "Permissions"
1634)
1635
1636// PossibleSelectPermissionsValues returns the possible values for the SelectPermissions const type.
1637func PossibleSelectPermissionsValues() []SelectPermissions {
1638	return []SelectPermissions{
1639		SelectPermissionsPermissions,
1640	}
1641}
1642
1643// ToPtr returns a *SelectPermissions pointing to the current value.
1644func (c SelectPermissions) ToPtr() *SelectPermissions {
1645	return &c
1646}
1647
1648// SettingNames - Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
1649type SettingNames string
1650
1651const (
1652	SettingNamesAutoLogon          SettingNames = "AutoLogon"
1653	SettingNamesFirstLogonCommands SettingNames = "FirstLogonCommands"
1654)
1655
1656// PossibleSettingNamesValues returns the possible values for the SettingNames const type.
1657func PossibleSettingNamesValues() []SettingNames {
1658	return []SettingNames{
1659		SettingNamesAutoLogon,
1660		SettingNamesFirstLogonCommands,
1661	}
1662}
1663
1664// ToPtr returns a *SettingNames pointing to the current value.
1665func (c SettingNames) ToPtr() *SettingNames {
1666	return &c
1667}
1668
1669type SharedToValues string
1670
1671const (
1672	SharedToValuesTenant SharedToValues = "tenant"
1673)
1674
1675// PossibleSharedToValuesValues returns the possible values for the SharedToValues const type.
1676func PossibleSharedToValuesValues() []SharedToValues {
1677	return []SharedToValues{
1678		SharedToValuesTenant,
1679	}
1680}
1681
1682// ToPtr returns a *SharedToValues pointing to the current value.
1683func (c SharedToValues) ToPtr() *SharedToValues {
1684	return &c
1685}
1686
1687// SharingProfileGroupTypes - This property allows you to specify the type of sharing group.
1688// Possible values are:
1689// Subscriptions
1690// AADTenants
1691type SharingProfileGroupTypes string
1692
1693const (
1694	SharingProfileGroupTypesAADTenants    SharingProfileGroupTypes = "AADTenants"
1695	SharingProfileGroupTypesSubscriptions SharingProfileGroupTypes = "Subscriptions"
1696)
1697
1698// PossibleSharingProfileGroupTypesValues returns the possible values for the SharingProfileGroupTypes const type.
1699func PossibleSharingProfileGroupTypesValues() []SharingProfileGroupTypes {
1700	return []SharingProfileGroupTypes{
1701		SharingProfileGroupTypesAADTenants,
1702		SharingProfileGroupTypesSubscriptions,
1703	}
1704}
1705
1706// ToPtr returns a *SharingProfileGroupTypes pointing to the current value.
1707func (c SharingProfileGroupTypes) ToPtr() *SharingProfileGroupTypes {
1708	return &c
1709}
1710
1711// SharingUpdateOperationTypes - This property allows you to specify the operation type of gallery sharing update.
1712// Possible values are:
1713// Add
1714// Remove
1715// Reset
1716type SharingUpdateOperationTypes string
1717
1718const (
1719	SharingUpdateOperationTypesAdd    SharingUpdateOperationTypes = "Add"
1720	SharingUpdateOperationTypesRemove SharingUpdateOperationTypes = "Remove"
1721	SharingUpdateOperationTypesReset  SharingUpdateOperationTypes = "Reset"
1722)
1723
1724// PossibleSharingUpdateOperationTypesValues returns the possible values for the SharingUpdateOperationTypes const type.
1725func PossibleSharingUpdateOperationTypesValues() []SharingUpdateOperationTypes {
1726	return []SharingUpdateOperationTypes{
1727		SharingUpdateOperationTypesAdd,
1728		SharingUpdateOperationTypesRemove,
1729		SharingUpdateOperationTypesReset,
1730	}
1731}
1732
1733// ToPtr returns a *SharingUpdateOperationTypes pointing to the current value.
1734func (c SharingUpdateOperationTypes) ToPtr() *SharingUpdateOperationTypes {
1735	return &c
1736}
1737
1738// SnapshotStorageAccountTypes - The sku name.
1739type SnapshotStorageAccountTypes string
1740
1741const (
1742	// SnapshotStorageAccountTypesPremiumLRS - Premium SSD locally redundant storage
1743	SnapshotStorageAccountTypesPremiumLRS SnapshotStorageAccountTypes = "Premium_LRS"
1744	// SnapshotStorageAccountTypesStandardLRS - Standard HDD locally redundant storage
1745	SnapshotStorageAccountTypesStandardLRS SnapshotStorageAccountTypes = "Standard_LRS"
1746	// SnapshotStorageAccountTypesStandardZRS - Standard zone redundant storage
1747	SnapshotStorageAccountTypesStandardZRS SnapshotStorageAccountTypes = "Standard_ZRS"
1748)
1749
1750// PossibleSnapshotStorageAccountTypesValues returns the possible values for the SnapshotStorageAccountTypes const type.
1751func PossibleSnapshotStorageAccountTypesValues() []SnapshotStorageAccountTypes {
1752	return []SnapshotStorageAccountTypes{
1753		SnapshotStorageAccountTypesPremiumLRS,
1754		SnapshotStorageAccountTypesStandardLRS,
1755		SnapshotStorageAccountTypesStandardZRS,
1756	}
1757}
1758
1759// ToPtr returns a *SnapshotStorageAccountTypes pointing to the current value.
1760func (c SnapshotStorageAccountTypes) ToPtr() *SnapshotStorageAccountTypes {
1761	return &c
1762}
1763
1764// StatusLevelTypes - The level code.
1765type StatusLevelTypes string
1766
1767const (
1768	StatusLevelTypesInfo    StatusLevelTypes = "Info"
1769	StatusLevelTypesWarning StatusLevelTypes = "Warning"
1770	StatusLevelTypesError   StatusLevelTypes = "Error"
1771)
1772
1773// PossibleStatusLevelTypesValues returns the possible values for the StatusLevelTypes const type.
1774func PossibleStatusLevelTypesValues() []StatusLevelTypes {
1775	return []StatusLevelTypes{
1776		StatusLevelTypesInfo,
1777		StatusLevelTypesWarning,
1778		StatusLevelTypesError,
1779	}
1780}
1781
1782// ToPtr returns a *StatusLevelTypes pointing to the current value.
1783func (c StatusLevelTypes) ToPtr() *StatusLevelTypes {
1784	return &c
1785}
1786
1787// StorageAccountType - Specifies the storage account type to be used to store the image. This property is not updatable.
1788type StorageAccountType string
1789
1790const (
1791	StorageAccountTypePremiumLRS  StorageAccountType = "Premium_LRS"
1792	StorageAccountTypeStandardLRS StorageAccountType = "Standard_LRS"
1793	StorageAccountTypeStandardZRS StorageAccountType = "Standard_ZRS"
1794)
1795
1796// PossibleStorageAccountTypeValues returns the possible values for the StorageAccountType const type.
1797func PossibleStorageAccountTypeValues() []StorageAccountType {
1798	return []StorageAccountType{
1799		StorageAccountTypePremiumLRS,
1800		StorageAccountTypeStandardLRS,
1801		StorageAccountTypeStandardZRS,
1802	}
1803}
1804
1805// ToPtr returns a *StorageAccountType pointing to the current value.
1806func (c StorageAccountType) ToPtr() *StorageAccountType {
1807	return &c
1808}
1809
1810// StorageAccountTypes - Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the
1811// scale set. NOTE: UltraSSDLRS can only be used with data disks. It
1812// cannot be used with OS Disk. StandardLRS uses Standard HDD. StandardSSDLRS uses Standard SSD. PremiumLRS uses Premium SSD. UltraSSDLRS uses Ultra disk.
1813// PremiumZRS uses Premium SSD zone redundant
1814// storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer
1815// to
1816// https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types
1817type StorageAccountTypes string
1818
1819const (
1820	StorageAccountTypesPremiumLRS     StorageAccountTypes = "Premium_LRS"
1821	StorageAccountTypesPremiumZRS     StorageAccountTypes = "Premium_ZRS"
1822	StorageAccountTypesStandardLRS    StorageAccountTypes = "Standard_LRS"
1823	StorageAccountTypesStandardSSDLRS StorageAccountTypes = "StandardSSD_LRS"
1824	StorageAccountTypesStandardSSDZRS StorageAccountTypes = "StandardSSD_ZRS"
1825	StorageAccountTypesUltraSSDLRS    StorageAccountTypes = "UltraSSD_LRS"
1826)
1827
1828// PossibleStorageAccountTypesValues returns the possible values for the StorageAccountTypes const type.
1829func PossibleStorageAccountTypesValues() []StorageAccountTypes {
1830	return []StorageAccountTypes{
1831		StorageAccountTypesPremiumLRS,
1832		StorageAccountTypesPremiumZRS,
1833		StorageAccountTypesStandardLRS,
1834		StorageAccountTypesStandardSSDLRS,
1835		StorageAccountTypesStandardSSDZRS,
1836		StorageAccountTypesUltraSSDLRS,
1837	}
1838}
1839
1840// ToPtr returns a *StorageAccountTypes pointing to the current value.
1841func (c StorageAccountTypes) ToPtr() *StorageAccountTypes {
1842	return &c
1843}
1844
1845// UpgradeMode - Specifies the mode of an upgrade to virtual machines in the scale set.
1846// Possible values are:
1847// Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.
1848// Automatic - All virtual machines in the scale set are automatically updated at the same time.
1849type UpgradeMode string
1850
1851const (
1852	UpgradeModeAutomatic UpgradeMode = "Automatic"
1853	UpgradeModeManual    UpgradeMode = "Manual"
1854	UpgradeModeRolling   UpgradeMode = "Rolling"
1855)
1856
1857// PossibleUpgradeModeValues returns the possible values for the UpgradeMode const type.
1858func PossibleUpgradeModeValues() []UpgradeMode {
1859	return []UpgradeMode{
1860		UpgradeModeAutomatic,
1861		UpgradeModeManual,
1862		UpgradeModeRolling,
1863	}
1864}
1865
1866// ToPtr returns a *UpgradeMode pointing to the current value.
1867func (c UpgradeMode) ToPtr() *UpgradeMode {
1868	return &c
1869}
1870
1871// UpgradeOperationInvoker - Invoker of the Upgrade Operation
1872type UpgradeOperationInvoker string
1873
1874const (
1875	UpgradeOperationInvokerUnknown  UpgradeOperationInvoker = "Unknown"
1876	UpgradeOperationInvokerUser     UpgradeOperationInvoker = "User"
1877	UpgradeOperationInvokerPlatform UpgradeOperationInvoker = "Platform"
1878)
1879
1880// PossibleUpgradeOperationInvokerValues returns the possible values for the UpgradeOperationInvoker const type.
1881func PossibleUpgradeOperationInvokerValues() []UpgradeOperationInvoker {
1882	return []UpgradeOperationInvoker{
1883		UpgradeOperationInvokerUnknown,
1884		UpgradeOperationInvokerUser,
1885		UpgradeOperationInvokerPlatform,
1886	}
1887}
1888
1889// ToPtr returns a *UpgradeOperationInvoker pointing to the current value.
1890func (c UpgradeOperationInvoker) ToPtr() *UpgradeOperationInvoker {
1891	return &c
1892}
1893
1894// UpgradeState - Code indicating the current status of the upgrade.
1895type UpgradeState string
1896
1897const (
1898	UpgradeStateRollingForward UpgradeState = "RollingForward"
1899	UpgradeStateCancelled      UpgradeState = "Cancelled"
1900	UpgradeStateCompleted      UpgradeState = "Completed"
1901	UpgradeStateFaulted        UpgradeState = "Faulted"
1902)
1903
1904// PossibleUpgradeStateValues returns the possible values for the UpgradeState const type.
1905func PossibleUpgradeStateValues() []UpgradeState {
1906	return []UpgradeState{
1907		UpgradeStateRollingForward,
1908		UpgradeStateCancelled,
1909		UpgradeStateCompleted,
1910		UpgradeStateFaulted,
1911	}
1912}
1913
1914// ToPtr returns a *UpgradeState pointing to the current value.
1915func (c UpgradeState) ToPtr() *UpgradeState {
1916	return &c
1917}
1918
1919// VMDiskTypes - VM disk types which are disallowed.
1920type VMDiskTypes string
1921
1922const (
1923	VMDiskTypesNone      VMDiskTypes = "None"
1924	VMDiskTypesUnmanaged VMDiskTypes = "Unmanaged"
1925)
1926
1927// PossibleVMDiskTypesValues returns the possible values for the VMDiskTypes const type.
1928func PossibleVMDiskTypesValues() []VMDiskTypes {
1929	return []VMDiskTypes{
1930		VMDiskTypesNone,
1931		VMDiskTypesUnmanaged,
1932	}
1933}
1934
1935// ToPtr returns a *VMDiskTypes pointing to the current value.
1936func (c VMDiskTypes) ToPtr() *VMDiskTypes {
1937	return &c
1938}
1939
1940type VMGuestPatchClassificationLinux string
1941
1942const (
1943	VMGuestPatchClassificationLinuxCritical VMGuestPatchClassificationLinux = "Critical"
1944	VMGuestPatchClassificationLinuxOther    VMGuestPatchClassificationLinux = "Other"
1945	VMGuestPatchClassificationLinuxSecurity VMGuestPatchClassificationLinux = "Security"
1946)
1947
1948// PossibleVMGuestPatchClassificationLinuxValues returns the possible values for the VMGuestPatchClassificationLinux const type.
1949func PossibleVMGuestPatchClassificationLinuxValues() []VMGuestPatchClassificationLinux {
1950	return []VMGuestPatchClassificationLinux{
1951		VMGuestPatchClassificationLinuxCritical,
1952		VMGuestPatchClassificationLinuxOther,
1953		VMGuestPatchClassificationLinuxSecurity,
1954	}
1955}
1956
1957// ToPtr returns a *VMGuestPatchClassificationLinux pointing to the current value.
1958func (c VMGuestPatchClassificationLinux) ToPtr() *VMGuestPatchClassificationLinux {
1959	return &c
1960}
1961
1962type VMGuestPatchClassificationWindows string
1963
1964const (
1965	VMGuestPatchClassificationWindowsCritical     VMGuestPatchClassificationWindows = "Critical"
1966	VMGuestPatchClassificationWindowsDefinition   VMGuestPatchClassificationWindows = "Definition"
1967	VMGuestPatchClassificationWindowsFeaturePack  VMGuestPatchClassificationWindows = "FeaturePack"
1968	VMGuestPatchClassificationWindowsSecurity     VMGuestPatchClassificationWindows = "Security"
1969	VMGuestPatchClassificationWindowsServicePack  VMGuestPatchClassificationWindows = "ServicePack"
1970	VMGuestPatchClassificationWindowsTools        VMGuestPatchClassificationWindows = "Tools"
1971	VMGuestPatchClassificationWindowsUpdateRollUp VMGuestPatchClassificationWindows = "UpdateRollUp"
1972	VMGuestPatchClassificationWindowsUpdates      VMGuestPatchClassificationWindows = "Updates"
1973)
1974
1975// PossibleVMGuestPatchClassificationWindowsValues returns the possible values for the VMGuestPatchClassificationWindows const type.
1976func PossibleVMGuestPatchClassificationWindowsValues() []VMGuestPatchClassificationWindows {
1977	return []VMGuestPatchClassificationWindows{
1978		VMGuestPatchClassificationWindowsCritical,
1979		VMGuestPatchClassificationWindowsDefinition,
1980		VMGuestPatchClassificationWindowsFeaturePack,
1981		VMGuestPatchClassificationWindowsSecurity,
1982		VMGuestPatchClassificationWindowsServicePack,
1983		VMGuestPatchClassificationWindowsTools,
1984		VMGuestPatchClassificationWindowsUpdateRollUp,
1985		VMGuestPatchClassificationWindowsUpdates,
1986	}
1987}
1988
1989// ToPtr returns a *VMGuestPatchClassificationWindows pointing to the current value.
1990func (c VMGuestPatchClassificationWindows) ToPtr() *VMGuestPatchClassificationWindows {
1991	return &c
1992}
1993
1994// VMGuestPatchRebootBehavior - Describes the reboot requirements of the patch.
1995type VMGuestPatchRebootBehavior string
1996
1997const (
1998	VMGuestPatchRebootBehaviorAlwaysRequiresReboot VMGuestPatchRebootBehavior = "AlwaysRequiresReboot"
1999	VMGuestPatchRebootBehaviorCanRequestReboot     VMGuestPatchRebootBehavior = "CanRequestReboot"
2000	VMGuestPatchRebootBehaviorNeverReboots         VMGuestPatchRebootBehavior = "NeverReboots"
2001	VMGuestPatchRebootBehaviorUnknown              VMGuestPatchRebootBehavior = "Unknown"
2002)
2003
2004// PossibleVMGuestPatchRebootBehaviorValues returns the possible values for the VMGuestPatchRebootBehavior const type.
2005func PossibleVMGuestPatchRebootBehaviorValues() []VMGuestPatchRebootBehavior {
2006	return []VMGuestPatchRebootBehavior{
2007		VMGuestPatchRebootBehaviorAlwaysRequiresReboot,
2008		VMGuestPatchRebootBehaviorCanRequestReboot,
2009		VMGuestPatchRebootBehaviorNeverReboots,
2010		VMGuestPatchRebootBehaviorUnknown,
2011	}
2012}
2013
2014// ToPtr returns a *VMGuestPatchRebootBehavior pointing to the current value.
2015func (c VMGuestPatchRebootBehavior) ToPtr() *VMGuestPatchRebootBehavior {
2016	return &c
2017}
2018
2019// VMGuestPatchRebootSetting - Defines when it is acceptable to reboot a VM during a software update operation.
2020type VMGuestPatchRebootSetting string
2021
2022const (
2023	VMGuestPatchRebootSettingAlways     VMGuestPatchRebootSetting = "Always"
2024	VMGuestPatchRebootSettingIfRequired VMGuestPatchRebootSetting = "IfRequired"
2025	VMGuestPatchRebootSettingNever      VMGuestPatchRebootSetting = "Never"
2026)
2027
2028// PossibleVMGuestPatchRebootSettingValues returns the possible values for the VMGuestPatchRebootSetting const type.
2029func PossibleVMGuestPatchRebootSettingValues() []VMGuestPatchRebootSetting {
2030	return []VMGuestPatchRebootSetting{
2031		VMGuestPatchRebootSettingAlways,
2032		VMGuestPatchRebootSettingIfRequired,
2033		VMGuestPatchRebootSettingNever,
2034	}
2035}
2036
2037// ToPtr returns a *VMGuestPatchRebootSetting pointing to the current value.
2038func (c VMGuestPatchRebootSetting) ToPtr() *VMGuestPatchRebootSetting {
2039	return &c
2040}
2041
2042// VMGuestPatchRebootStatus - The reboot state of the VM following completion of the operation.
2043type VMGuestPatchRebootStatus string
2044
2045const (
2046	VMGuestPatchRebootStatusCompleted VMGuestPatchRebootStatus = "Completed"
2047	VMGuestPatchRebootStatusFailed    VMGuestPatchRebootStatus = "Failed"
2048	VMGuestPatchRebootStatusNotNeeded VMGuestPatchRebootStatus = "NotNeeded"
2049	VMGuestPatchRebootStatusRequired  VMGuestPatchRebootStatus = "Required"
2050	VMGuestPatchRebootStatusStarted   VMGuestPatchRebootStatus = "Started"
2051	VMGuestPatchRebootStatusUnknown   VMGuestPatchRebootStatus = "Unknown"
2052)
2053
2054// PossibleVMGuestPatchRebootStatusValues returns the possible values for the VMGuestPatchRebootStatus const type.
2055func PossibleVMGuestPatchRebootStatusValues() []VMGuestPatchRebootStatus {
2056	return []VMGuestPatchRebootStatus{
2057		VMGuestPatchRebootStatusCompleted,
2058		VMGuestPatchRebootStatusFailed,
2059		VMGuestPatchRebootStatusNotNeeded,
2060		VMGuestPatchRebootStatusRequired,
2061		VMGuestPatchRebootStatusStarted,
2062		VMGuestPatchRebootStatusUnknown,
2063	}
2064}
2065
2066// ToPtr returns a *VMGuestPatchRebootStatus pointing to the current value.
2067func (c VMGuestPatchRebootStatus) ToPtr() *VMGuestPatchRebootStatus {
2068	return &c
2069}
2070
2071// VirtualMachineEvictionPolicyTypes - Specifies the eviction policy for the Azure Spot VM/VMSS
2072type VirtualMachineEvictionPolicyTypes string
2073
2074const (
2075	VirtualMachineEvictionPolicyTypesDeallocate VirtualMachineEvictionPolicyTypes = "Deallocate"
2076	VirtualMachineEvictionPolicyTypesDelete     VirtualMachineEvictionPolicyTypes = "Delete"
2077)
2078
2079// PossibleVirtualMachineEvictionPolicyTypesValues returns the possible values for the VirtualMachineEvictionPolicyTypes const type.
2080func PossibleVirtualMachineEvictionPolicyTypesValues() []VirtualMachineEvictionPolicyTypes {
2081	return []VirtualMachineEvictionPolicyTypes{
2082		VirtualMachineEvictionPolicyTypesDeallocate,
2083		VirtualMachineEvictionPolicyTypesDelete,
2084	}
2085}
2086
2087// ToPtr returns a *VirtualMachineEvictionPolicyTypes pointing to the current value.
2088func (c VirtualMachineEvictionPolicyTypes) ToPtr() *VirtualMachineEvictionPolicyTypes {
2089	return &c
2090}
2091
2092// VirtualMachinePriorityTypes - Specifies the priority for a standalone virtual machine or the virtual machines in the scale set.
2093// 'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.
2094type VirtualMachinePriorityTypes string
2095
2096const (
2097	VirtualMachinePriorityTypesLow     VirtualMachinePriorityTypes = "Low"
2098	VirtualMachinePriorityTypesRegular VirtualMachinePriorityTypes = "Regular"
2099	VirtualMachinePriorityTypesSpot    VirtualMachinePriorityTypes = "Spot"
2100)
2101
2102// PossibleVirtualMachinePriorityTypesValues returns the possible values for the VirtualMachinePriorityTypes const type.
2103func PossibleVirtualMachinePriorityTypesValues() []VirtualMachinePriorityTypes {
2104	return []VirtualMachinePriorityTypes{
2105		VirtualMachinePriorityTypesLow,
2106		VirtualMachinePriorityTypesRegular,
2107		VirtualMachinePriorityTypesSpot,
2108	}
2109}
2110
2111// ToPtr returns a *VirtualMachinePriorityTypes pointing to the current value.
2112func (c VirtualMachinePriorityTypes) ToPtr() *VirtualMachinePriorityTypes {
2113	return &c
2114}
2115
2116// VirtualMachineScaleSetSKUScaleType - The scale type applicable to the sku.
2117type VirtualMachineScaleSetSKUScaleType string
2118
2119const (
2120	VirtualMachineScaleSetSKUScaleTypeAutomatic VirtualMachineScaleSetSKUScaleType = "Automatic"
2121	VirtualMachineScaleSetSKUScaleTypeNone      VirtualMachineScaleSetSKUScaleType = "None"
2122)
2123
2124// PossibleVirtualMachineScaleSetSKUScaleTypeValues returns the possible values for the VirtualMachineScaleSetSKUScaleType const type.
2125func PossibleVirtualMachineScaleSetSKUScaleTypeValues() []VirtualMachineScaleSetSKUScaleType {
2126	return []VirtualMachineScaleSetSKUScaleType{
2127		VirtualMachineScaleSetSKUScaleTypeAutomatic,
2128		VirtualMachineScaleSetSKUScaleTypeNone,
2129	}
2130}
2131
2132// ToPtr returns a *VirtualMachineScaleSetSKUScaleType pointing to the current value.
2133func (c VirtualMachineScaleSetSKUScaleType) ToPtr() *VirtualMachineScaleSetSKUScaleType {
2134	return &c
2135}
2136
2137type VirtualMachineScaleSetScaleInRules string
2138
2139const (
2140	VirtualMachineScaleSetScaleInRulesDefault  VirtualMachineScaleSetScaleInRules = "Default"
2141	VirtualMachineScaleSetScaleInRulesNewestVM VirtualMachineScaleSetScaleInRules = "NewestVM"
2142	VirtualMachineScaleSetScaleInRulesOldestVM VirtualMachineScaleSetScaleInRules = "OldestVM"
2143)
2144
2145// PossibleVirtualMachineScaleSetScaleInRulesValues returns the possible values for the VirtualMachineScaleSetScaleInRules const type.
2146func PossibleVirtualMachineScaleSetScaleInRulesValues() []VirtualMachineScaleSetScaleInRules {
2147	return []VirtualMachineScaleSetScaleInRules{
2148		VirtualMachineScaleSetScaleInRulesDefault,
2149		VirtualMachineScaleSetScaleInRulesNewestVM,
2150		VirtualMachineScaleSetScaleInRulesOldestVM,
2151	}
2152}
2153
2154// ToPtr returns a *VirtualMachineScaleSetScaleInRules pointing to the current value.
2155func (c VirtualMachineScaleSetScaleInRules) ToPtr() *VirtualMachineScaleSetScaleInRules {
2156	return &c
2157}
2158
2159// VirtualMachineSizeTypes - Specifies the size of the virtual machine.
2160// The enum data type is currently deprecated and will be removed by December 23rd 2023.
2161// Recommended way to get the list of available sizes is using these APIs:
2162// List all available virtual machine sizes in an availability set [https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes]
2163// List all available virtual machine sizes in a region [https://docs.microsoft.com/rest/api/compute/resourceskus/list]
2164// List all available virtual machine sizes for resizing [https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes]. For more information
2165// about virtual machine sizes, see Sizes for
2166// virtual machines [https://docs.microsoft.com/azure/virtual-machines/sizes].
2167// The available VM sizes depend on region and availability set.
2168type VirtualMachineSizeTypes string
2169
2170const (
2171	VirtualMachineSizeTypesBasicA0          VirtualMachineSizeTypes = "Basic_A0"
2172	VirtualMachineSizeTypesBasicA1          VirtualMachineSizeTypes = "Basic_A1"
2173	VirtualMachineSizeTypesBasicA2          VirtualMachineSizeTypes = "Basic_A2"
2174	VirtualMachineSizeTypesBasicA3          VirtualMachineSizeTypes = "Basic_A3"
2175	VirtualMachineSizeTypesBasicA4          VirtualMachineSizeTypes = "Basic_A4"
2176	VirtualMachineSizeTypesStandardA0       VirtualMachineSizeTypes = "Standard_A0"
2177	VirtualMachineSizeTypesStandardA1       VirtualMachineSizeTypes = "Standard_A1"
2178	VirtualMachineSizeTypesStandardA10      VirtualMachineSizeTypes = "Standard_A10"
2179	VirtualMachineSizeTypesStandardA11      VirtualMachineSizeTypes = "Standard_A11"
2180	VirtualMachineSizeTypesStandardA1V2     VirtualMachineSizeTypes = "Standard_A1_v2"
2181	VirtualMachineSizeTypesStandardA2       VirtualMachineSizeTypes = "Standard_A2"
2182	VirtualMachineSizeTypesStandardA2MV2    VirtualMachineSizeTypes = "Standard_A2m_v2"
2183	VirtualMachineSizeTypesStandardA2V2     VirtualMachineSizeTypes = "Standard_A2_v2"
2184	VirtualMachineSizeTypesStandardA3       VirtualMachineSizeTypes = "Standard_A3"
2185	VirtualMachineSizeTypesStandardA4       VirtualMachineSizeTypes = "Standard_A4"
2186	VirtualMachineSizeTypesStandardA4MV2    VirtualMachineSizeTypes = "Standard_A4m_v2"
2187	VirtualMachineSizeTypesStandardA4V2     VirtualMachineSizeTypes = "Standard_A4_v2"
2188	VirtualMachineSizeTypesStandardA5       VirtualMachineSizeTypes = "Standard_A5"
2189	VirtualMachineSizeTypesStandardA6       VirtualMachineSizeTypes = "Standard_A6"
2190	VirtualMachineSizeTypesStandardA7       VirtualMachineSizeTypes = "Standard_A7"
2191	VirtualMachineSizeTypesStandardA8       VirtualMachineSizeTypes = "Standard_A8"
2192	VirtualMachineSizeTypesStandardA8MV2    VirtualMachineSizeTypes = "Standard_A8m_v2"
2193	VirtualMachineSizeTypesStandardA8V2     VirtualMachineSizeTypes = "Standard_A8_v2"
2194	VirtualMachineSizeTypesStandardA9       VirtualMachineSizeTypes = "Standard_A9"
2195	VirtualMachineSizeTypesStandardB1Ms     VirtualMachineSizeTypes = "Standard_B1ms"
2196	VirtualMachineSizeTypesStandardB1S      VirtualMachineSizeTypes = "Standard_B1s"
2197	VirtualMachineSizeTypesStandardB2Ms     VirtualMachineSizeTypes = "Standard_B2ms"
2198	VirtualMachineSizeTypesStandardB2S      VirtualMachineSizeTypes = "Standard_B2s"
2199	VirtualMachineSizeTypesStandardB4Ms     VirtualMachineSizeTypes = "Standard_B4ms"
2200	VirtualMachineSizeTypesStandardB8Ms     VirtualMachineSizeTypes = "Standard_B8ms"
2201	VirtualMachineSizeTypesStandardD1       VirtualMachineSizeTypes = "Standard_D1"
2202	VirtualMachineSizeTypesStandardD11      VirtualMachineSizeTypes = "Standard_D11"
2203	VirtualMachineSizeTypesStandardD11V2    VirtualMachineSizeTypes = "Standard_D11_v2"
2204	VirtualMachineSizeTypesStandardD12      VirtualMachineSizeTypes = "Standard_D12"
2205	VirtualMachineSizeTypesStandardD12V2    VirtualMachineSizeTypes = "Standard_D12_v2"
2206	VirtualMachineSizeTypesStandardD13      VirtualMachineSizeTypes = "Standard_D13"
2207	VirtualMachineSizeTypesStandardD13V2    VirtualMachineSizeTypes = "Standard_D13_v2"
2208	VirtualMachineSizeTypesStandardD14      VirtualMachineSizeTypes = "Standard_D14"
2209	VirtualMachineSizeTypesStandardD14V2    VirtualMachineSizeTypes = "Standard_D14_v2"
2210	VirtualMachineSizeTypesStandardD15V2    VirtualMachineSizeTypes = "Standard_D15_v2"
2211	VirtualMachineSizeTypesStandardD16SV3   VirtualMachineSizeTypes = "Standard_D16s_v3"
2212	VirtualMachineSizeTypesStandardD16V3    VirtualMachineSizeTypes = "Standard_D16_v3"
2213	VirtualMachineSizeTypesStandardD1V2     VirtualMachineSizeTypes = "Standard_D1_v2"
2214	VirtualMachineSizeTypesStandardD2       VirtualMachineSizeTypes = "Standard_D2"
2215	VirtualMachineSizeTypesStandardD2SV3    VirtualMachineSizeTypes = "Standard_D2s_v3"
2216	VirtualMachineSizeTypesStandardD2V2     VirtualMachineSizeTypes = "Standard_D2_v2"
2217	VirtualMachineSizeTypesStandardD2V3     VirtualMachineSizeTypes = "Standard_D2_v3"
2218	VirtualMachineSizeTypesStandardD3       VirtualMachineSizeTypes = "Standard_D3"
2219	VirtualMachineSizeTypesStandardD32SV3   VirtualMachineSizeTypes = "Standard_D32s_v3"
2220	VirtualMachineSizeTypesStandardD32V3    VirtualMachineSizeTypes = "Standard_D32_v3"
2221	VirtualMachineSizeTypesStandardD3V2     VirtualMachineSizeTypes = "Standard_D3_v2"
2222	VirtualMachineSizeTypesStandardD4       VirtualMachineSizeTypes = "Standard_D4"
2223	VirtualMachineSizeTypesStandardD4SV3    VirtualMachineSizeTypes = "Standard_D4s_v3"
2224	VirtualMachineSizeTypesStandardD4V2     VirtualMachineSizeTypes = "Standard_D4_v2"
2225	VirtualMachineSizeTypesStandardD4V3     VirtualMachineSizeTypes = "Standard_D4_v3"
2226	VirtualMachineSizeTypesStandardD5V2     VirtualMachineSizeTypes = "Standard_D5_v2"
2227	VirtualMachineSizeTypesStandardD64SV3   VirtualMachineSizeTypes = "Standard_D64s_v3"
2228	VirtualMachineSizeTypesStandardD64V3    VirtualMachineSizeTypes = "Standard_D64_v3"
2229	VirtualMachineSizeTypesStandardD8SV3    VirtualMachineSizeTypes = "Standard_D8s_v3"
2230	VirtualMachineSizeTypesStandardD8V3     VirtualMachineSizeTypes = "Standard_D8_v3"
2231	VirtualMachineSizeTypesStandardDS1      VirtualMachineSizeTypes = "Standard_DS1"
2232	VirtualMachineSizeTypesStandardDS11     VirtualMachineSizeTypes = "Standard_DS11"
2233	VirtualMachineSizeTypesStandardDS11V2   VirtualMachineSizeTypes = "Standard_DS11_v2"
2234	VirtualMachineSizeTypesStandardDS12     VirtualMachineSizeTypes = "Standard_DS12"
2235	VirtualMachineSizeTypesStandardDS12V2   VirtualMachineSizeTypes = "Standard_DS12_v2"
2236	VirtualMachineSizeTypesStandardDS13     VirtualMachineSizeTypes = "Standard_DS13"
2237	VirtualMachineSizeTypesStandardDS132V2  VirtualMachineSizeTypes = "Standard_DS13-2_v2"
2238	VirtualMachineSizeTypesStandardDS134V2  VirtualMachineSizeTypes = "Standard_DS13-4_v2"
2239	VirtualMachineSizeTypesStandardDS13V2   VirtualMachineSizeTypes = "Standard_DS13_v2"
2240	VirtualMachineSizeTypesStandardDS14     VirtualMachineSizeTypes = "Standard_DS14"
2241	VirtualMachineSizeTypesStandardDS144V2  VirtualMachineSizeTypes = "Standard_DS14-4_v2"
2242	VirtualMachineSizeTypesStandardDS148V2  VirtualMachineSizeTypes = "Standard_DS14-8_v2"
2243	VirtualMachineSizeTypesStandardDS14V2   VirtualMachineSizeTypes = "Standard_DS14_v2"
2244	VirtualMachineSizeTypesStandardDS15V2   VirtualMachineSizeTypes = "Standard_DS15_v2"
2245	VirtualMachineSizeTypesStandardDS1V2    VirtualMachineSizeTypes = "Standard_DS1_v2"
2246	VirtualMachineSizeTypesStandardDS2      VirtualMachineSizeTypes = "Standard_DS2"
2247	VirtualMachineSizeTypesStandardDS2V2    VirtualMachineSizeTypes = "Standard_DS2_v2"
2248	VirtualMachineSizeTypesStandardDS3      VirtualMachineSizeTypes = "Standard_DS3"
2249	VirtualMachineSizeTypesStandardDS3V2    VirtualMachineSizeTypes = "Standard_DS3_v2"
2250	VirtualMachineSizeTypesStandardDS4      VirtualMachineSizeTypes = "Standard_DS4"
2251	VirtualMachineSizeTypesStandardDS4V2    VirtualMachineSizeTypes = "Standard_DS4_v2"
2252	VirtualMachineSizeTypesStandardDS5V2    VirtualMachineSizeTypes = "Standard_DS5_v2"
2253	VirtualMachineSizeTypesStandardE16SV3   VirtualMachineSizeTypes = "Standard_E16s_v3"
2254	VirtualMachineSizeTypesStandardE16V3    VirtualMachineSizeTypes = "Standard_E16_v3"
2255	VirtualMachineSizeTypesStandardE2SV3    VirtualMachineSizeTypes = "Standard_E2s_v3"
2256	VirtualMachineSizeTypesStandardE2V3     VirtualMachineSizeTypes = "Standard_E2_v3"
2257	VirtualMachineSizeTypesStandardE3216V3  VirtualMachineSizeTypes = "Standard_E32-16_v3"
2258	VirtualMachineSizeTypesStandardE328SV3  VirtualMachineSizeTypes = "Standard_E32-8s_v3"
2259	VirtualMachineSizeTypesStandardE32SV3   VirtualMachineSizeTypes = "Standard_E32s_v3"
2260	VirtualMachineSizeTypesStandardE32V3    VirtualMachineSizeTypes = "Standard_E32_v3"
2261	VirtualMachineSizeTypesStandardE4SV3    VirtualMachineSizeTypes = "Standard_E4s_v3"
2262	VirtualMachineSizeTypesStandardE4V3     VirtualMachineSizeTypes = "Standard_E4_v3"
2263	VirtualMachineSizeTypesStandardE6416SV3 VirtualMachineSizeTypes = "Standard_E64-16s_v3"
2264	VirtualMachineSizeTypesStandardE6432SV3 VirtualMachineSizeTypes = "Standard_E64-32s_v3"
2265	VirtualMachineSizeTypesStandardE64SV3   VirtualMachineSizeTypes = "Standard_E64s_v3"
2266	VirtualMachineSizeTypesStandardE64V3    VirtualMachineSizeTypes = "Standard_E64_v3"
2267	VirtualMachineSizeTypesStandardE8SV3    VirtualMachineSizeTypes = "Standard_E8s_v3"
2268	VirtualMachineSizeTypesStandardE8V3     VirtualMachineSizeTypes = "Standard_E8_v3"
2269	VirtualMachineSizeTypesStandardF1       VirtualMachineSizeTypes = "Standard_F1"
2270	VirtualMachineSizeTypesStandardF16      VirtualMachineSizeTypes = "Standard_F16"
2271	VirtualMachineSizeTypesStandardF16S     VirtualMachineSizeTypes = "Standard_F16s"
2272	VirtualMachineSizeTypesStandardF16SV2   VirtualMachineSizeTypes = "Standard_F16s_v2"
2273	VirtualMachineSizeTypesStandardF1S      VirtualMachineSizeTypes = "Standard_F1s"
2274	VirtualMachineSizeTypesStandardF2       VirtualMachineSizeTypes = "Standard_F2"
2275	VirtualMachineSizeTypesStandardF2S      VirtualMachineSizeTypes = "Standard_F2s"
2276	VirtualMachineSizeTypesStandardF2SV2    VirtualMachineSizeTypes = "Standard_F2s_v2"
2277	VirtualMachineSizeTypesStandardF32SV2   VirtualMachineSizeTypes = "Standard_F32s_v2"
2278	VirtualMachineSizeTypesStandardF4       VirtualMachineSizeTypes = "Standard_F4"
2279	VirtualMachineSizeTypesStandardF4S      VirtualMachineSizeTypes = "Standard_F4s"
2280	VirtualMachineSizeTypesStandardF4SV2    VirtualMachineSizeTypes = "Standard_F4s_v2"
2281	VirtualMachineSizeTypesStandardF64SV2   VirtualMachineSizeTypes = "Standard_F64s_v2"
2282	VirtualMachineSizeTypesStandardF72SV2   VirtualMachineSizeTypes = "Standard_F72s_v2"
2283	VirtualMachineSizeTypesStandardF8       VirtualMachineSizeTypes = "Standard_F8"
2284	VirtualMachineSizeTypesStandardF8S      VirtualMachineSizeTypes = "Standard_F8s"
2285	VirtualMachineSizeTypesStandardF8SV2    VirtualMachineSizeTypes = "Standard_F8s_v2"
2286	VirtualMachineSizeTypesStandardG1       VirtualMachineSizeTypes = "Standard_G1"
2287	VirtualMachineSizeTypesStandardG2       VirtualMachineSizeTypes = "Standard_G2"
2288	VirtualMachineSizeTypesStandardG3       VirtualMachineSizeTypes = "Standard_G3"
2289	VirtualMachineSizeTypesStandardG4       VirtualMachineSizeTypes = "Standard_G4"
2290	VirtualMachineSizeTypesStandardG5       VirtualMachineSizeTypes = "Standard_G5"
2291	VirtualMachineSizeTypesStandardGS1      VirtualMachineSizeTypes = "Standard_GS1"
2292	VirtualMachineSizeTypesStandardGS2      VirtualMachineSizeTypes = "Standard_GS2"
2293	VirtualMachineSizeTypesStandardGS3      VirtualMachineSizeTypes = "Standard_GS3"
2294	VirtualMachineSizeTypesStandardGS4      VirtualMachineSizeTypes = "Standard_GS4"
2295	VirtualMachineSizeTypesStandardGS44     VirtualMachineSizeTypes = "Standard_GS4-4"
2296	VirtualMachineSizeTypesStandardGS48     VirtualMachineSizeTypes = "Standard_GS4-8"
2297	VirtualMachineSizeTypesStandardGS5      VirtualMachineSizeTypes = "Standard_GS5"
2298	VirtualMachineSizeTypesStandardGS516    VirtualMachineSizeTypes = "Standard_GS5-16"
2299	VirtualMachineSizeTypesStandardGS58     VirtualMachineSizeTypes = "Standard_GS5-8"
2300	VirtualMachineSizeTypesStandardH16      VirtualMachineSizeTypes = "Standard_H16"
2301	VirtualMachineSizeTypesStandardH16M     VirtualMachineSizeTypes = "Standard_H16m"
2302	VirtualMachineSizeTypesStandardH16Mr    VirtualMachineSizeTypes = "Standard_H16mr"
2303	VirtualMachineSizeTypesStandardH16R     VirtualMachineSizeTypes = "Standard_H16r"
2304	VirtualMachineSizeTypesStandardH8       VirtualMachineSizeTypes = "Standard_H8"
2305	VirtualMachineSizeTypesStandardH8M      VirtualMachineSizeTypes = "Standard_H8m"
2306	VirtualMachineSizeTypesStandardL16S     VirtualMachineSizeTypes = "Standard_L16s"
2307	VirtualMachineSizeTypesStandardL32S     VirtualMachineSizeTypes = "Standard_L32s"
2308	VirtualMachineSizeTypesStandardL4S      VirtualMachineSizeTypes = "Standard_L4s"
2309	VirtualMachineSizeTypesStandardL8S      VirtualMachineSizeTypes = "Standard_L8s"
2310	VirtualMachineSizeTypesStandardM12832Ms VirtualMachineSizeTypes = "Standard_M128-32ms"
2311	VirtualMachineSizeTypesStandardM12864Ms VirtualMachineSizeTypes = "Standard_M128-64ms"
2312	VirtualMachineSizeTypesStandardM128Ms   VirtualMachineSizeTypes = "Standard_M128ms"
2313	VirtualMachineSizeTypesStandardM128S    VirtualMachineSizeTypes = "Standard_M128s"
2314	VirtualMachineSizeTypesStandardM6416Ms  VirtualMachineSizeTypes = "Standard_M64-16ms"
2315	VirtualMachineSizeTypesStandardM6432Ms  VirtualMachineSizeTypes = "Standard_M64-32ms"
2316	VirtualMachineSizeTypesStandardM64Ms    VirtualMachineSizeTypes = "Standard_M64ms"
2317	VirtualMachineSizeTypesStandardM64S     VirtualMachineSizeTypes = "Standard_M64s"
2318	VirtualMachineSizeTypesStandardNC12     VirtualMachineSizeTypes = "Standard_NC12"
2319	VirtualMachineSizeTypesStandardNC12SV2  VirtualMachineSizeTypes = "Standard_NC12s_v2"
2320	VirtualMachineSizeTypesStandardNC12SV3  VirtualMachineSizeTypes = "Standard_NC12s_v3"
2321	VirtualMachineSizeTypesStandardNC24     VirtualMachineSizeTypes = "Standard_NC24"
2322	VirtualMachineSizeTypesStandardNC24R    VirtualMachineSizeTypes = "Standard_NC24r"
2323	VirtualMachineSizeTypesStandardNC24RsV2 VirtualMachineSizeTypes = "Standard_NC24rs_v2"
2324	VirtualMachineSizeTypesStandardNC24RsV3 VirtualMachineSizeTypes = "Standard_NC24rs_v3"
2325	VirtualMachineSizeTypesStandardNC24SV2  VirtualMachineSizeTypes = "Standard_NC24s_v2"
2326	VirtualMachineSizeTypesStandardNC24SV3  VirtualMachineSizeTypes = "Standard_NC24s_v3"
2327	VirtualMachineSizeTypesStandardNC6      VirtualMachineSizeTypes = "Standard_NC6"
2328	VirtualMachineSizeTypesStandardNC6SV2   VirtualMachineSizeTypes = "Standard_NC6s_v2"
2329	VirtualMachineSizeTypesStandardNC6SV3   VirtualMachineSizeTypes = "Standard_NC6s_v3"
2330	VirtualMachineSizeTypesStandardND12S    VirtualMachineSizeTypes = "Standard_ND12s"
2331	VirtualMachineSizeTypesStandardND24Rs   VirtualMachineSizeTypes = "Standard_ND24rs"
2332	VirtualMachineSizeTypesStandardND24S    VirtualMachineSizeTypes = "Standard_ND24s"
2333	VirtualMachineSizeTypesStandardND6S     VirtualMachineSizeTypes = "Standard_ND6s"
2334	VirtualMachineSizeTypesStandardNV12     VirtualMachineSizeTypes = "Standard_NV12"
2335	VirtualMachineSizeTypesStandardNV24     VirtualMachineSizeTypes = "Standard_NV24"
2336	VirtualMachineSizeTypesStandardNV6      VirtualMachineSizeTypes = "Standard_NV6"
2337)
2338
2339// PossibleVirtualMachineSizeTypesValues returns the possible values for the VirtualMachineSizeTypes const type.
2340func PossibleVirtualMachineSizeTypesValues() []VirtualMachineSizeTypes {
2341	return []VirtualMachineSizeTypes{
2342		VirtualMachineSizeTypesBasicA0,
2343		VirtualMachineSizeTypesBasicA1,
2344		VirtualMachineSizeTypesBasicA2,
2345		VirtualMachineSizeTypesBasicA3,
2346		VirtualMachineSizeTypesBasicA4,
2347		VirtualMachineSizeTypesStandardA0,
2348		VirtualMachineSizeTypesStandardA1,
2349		VirtualMachineSizeTypesStandardA10,
2350		VirtualMachineSizeTypesStandardA11,
2351		VirtualMachineSizeTypesStandardA1V2,
2352		VirtualMachineSizeTypesStandardA2,
2353		VirtualMachineSizeTypesStandardA2MV2,
2354		VirtualMachineSizeTypesStandardA2V2,
2355		VirtualMachineSizeTypesStandardA3,
2356		VirtualMachineSizeTypesStandardA4,
2357		VirtualMachineSizeTypesStandardA4MV2,
2358		VirtualMachineSizeTypesStandardA4V2,
2359		VirtualMachineSizeTypesStandardA5,
2360		VirtualMachineSizeTypesStandardA6,
2361		VirtualMachineSizeTypesStandardA7,
2362		VirtualMachineSizeTypesStandardA8,
2363		VirtualMachineSizeTypesStandardA8MV2,
2364		VirtualMachineSizeTypesStandardA8V2,
2365		VirtualMachineSizeTypesStandardA9,
2366		VirtualMachineSizeTypesStandardB1Ms,
2367		VirtualMachineSizeTypesStandardB1S,
2368		VirtualMachineSizeTypesStandardB2Ms,
2369		VirtualMachineSizeTypesStandardB2S,
2370		VirtualMachineSizeTypesStandardB4Ms,
2371		VirtualMachineSizeTypesStandardB8Ms,
2372		VirtualMachineSizeTypesStandardD1,
2373		VirtualMachineSizeTypesStandardD11,
2374		VirtualMachineSizeTypesStandardD11V2,
2375		VirtualMachineSizeTypesStandardD12,
2376		VirtualMachineSizeTypesStandardD12V2,
2377		VirtualMachineSizeTypesStandardD13,
2378		VirtualMachineSizeTypesStandardD13V2,
2379		VirtualMachineSizeTypesStandardD14,
2380		VirtualMachineSizeTypesStandardD14V2,
2381		VirtualMachineSizeTypesStandardD15V2,
2382		VirtualMachineSizeTypesStandardD16SV3,
2383		VirtualMachineSizeTypesStandardD16V3,
2384		VirtualMachineSizeTypesStandardD1V2,
2385		VirtualMachineSizeTypesStandardD2,
2386		VirtualMachineSizeTypesStandardD2SV3,
2387		VirtualMachineSizeTypesStandardD2V2,
2388		VirtualMachineSizeTypesStandardD2V3,
2389		VirtualMachineSizeTypesStandardD3,
2390		VirtualMachineSizeTypesStandardD32SV3,
2391		VirtualMachineSizeTypesStandardD32V3,
2392		VirtualMachineSizeTypesStandardD3V2,
2393		VirtualMachineSizeTypesStandardD4,
2394		VirtualMachineSizeTypesStandardD4SV3,
2395		VirtualMachineSizeTypesStandardD4V2,
2396		VirtualMachineSizeTypesStandardD4V3,
2397		VirtualMachineSizeTypesStandardD5V2,
2398		VirtualMachineSizeTypesStandardD64SV3,
2399		VirtualMachineSizeTypesStandardD64V3,
2400		VirtualMachineSizeTypesStandardD8SV3,
2401		VirtualMachineSizeTypesStandardD8V3,
2402		VirtualMachineSizeTypesStandardDS1,
2403		VirtualMachineSizeTypesStandardDS11,
2404		VirtualMachineSizeTypesStandardDS11V2,
2405		VirtualMachineSizeTypesStandardDS12,
2406		VirtualMachineSizeTypesStandardDS12V2,
2407		VirtualMachineSizeTypesStandardDS13,
2408		VirtualMachineSizeTypesStandardDS132V2,
2409		VirtualMachineSizeTypesStandardDS134V2,
2410		VirtualMachineSizeTypesStandardDS13V2,
2411		VirtualMachineSizeTypesStandardDS14,
2412		VirtualMachineSizeTypesStandardDS144V2,
2413		VirtualMachineSizeTypesStandardDS148V2,
2414		VirtualMachineSizeTypesStandardDS14V2,
2415		VirtualMachineSizeTypesStandardDS15V2,
2416		VirtualMachineSizeTypesStandardDS1V2,
2417		VirtualMachineSizeTypesStandardDS2,
2418		VirtualMachineSizeTypesStandardDS2V2,
2419		VirtualMachineSizeTypesStandardDS3,
2420		VirtualMachineSizeTypesStandardDS3V2,
2421		VirtualMachineSizeTypesStandardDS4,
2422		VirtualMachineSizeTypesStandardDS4V2,
2423		VirtualMachineSizeTypesStandardDS5V2,
2424		VirtualMachineSizeTypesStandardE16SV3,
2425		VirtualMachineSizeTypesStandardE16V3,
2426		VirtualMachineSizeTypesStandardE2SV3,
2427		VirtualMachineSizeTypesStandardE2V3,
2428		VirtualMachineSizeTypesStandardE3216V3,
2429		VirtualMachineSizeTypesStandardE328SV3,
2430		VirtualMachineSizeTypesStandardE32SV3,
2431		VirtualMachineSizeTypesStandardE32V3,
2432		VirtualMachineSizeTypesStandardE4SV3,
2433		VirtualMachineSizeTypesStandardE4V3,
2434		VirtualMachineSizeTypesStandardE6416SV3,
2435		VirtualMachineSizeTypesStandardE6432SV3,
2436		VirtualMachineSizeTypesStandardE64SV3,
2437		VirtualMachineSizeTypesStandardE64V3,
2438		VirtualMachineSizeTypesStandardE8SV3,
2439		VirtualMachineSizeTypesStandardE8V3,
2440		VirtualMachineSizeTypesStandardF1,
2441		VirtualMachineSizeTypesStandardF16,
2442		VirtualMachineSizeTypesStandardF16S,
2443		VirtualMachineSizeTypesStandardF16SV2,
2444		VirtualMachineSizeTypesStandardF1S,
2445		VirtualMachineSizeTypesStandardF2,
2446		VirtualMachineSizeTypesStandardF2S,
2447		VirtualMachineSizeTypesStandardF2SV2,
2448		VirtualMachineSizeTypesStandardF32SV2,
2449		VirtualMachineSizeTypesStandardF4,
2450		VirtualMachineSizeTypesStandardF4S,
2451		VirtualMachineSizeTypesStandardF4SV2,
2452		VirtualMachineSizeTypesStandardF64SV2,
2453		VirtualMachineSizeTypesStandardF72SV2,
2454		VirtualMachineSizeTypesStandardF8,
2455		VirtualMachineSizeTypesStandardF8S,
2456		VirtualMachineSizeTypesStandardF8SV2,
2457		VirtualMachineSizeTypesStandardG1,
2458		VirtualMachineSizeTypesStandardG2,
2459		VirtualMachineSizeTypesStandardG3,
2460		VirtualMachineSizeTypesStandardG4,
2461		VirtualMachineSizeTypesStandardG5,
2462		VirtualMachineSizeTypesStandardGS1,
2463		VirtualMachineSizeTypesStandardGS2,
2464		VirtualMachineSizeTypesStandardGS3,
2465		VirtualMachineSizeTypesStandardGS4,
2466		VirtualMachineSizeTypesStandardGS44,
2467		VirtualMachineSizeTypesStandardGS48,
2468		VirtualMachineSizeTypesStandardGS5,
2469		VirtualMachineSizeTypesStandardGS516,
2470		VirtualMachineSizeTypesStandardGS58,
2471		VirtualMachineSizeTypesStandardH16,
2472		VirtualMachineSizeTypesStandardH16M,
2473		VirtualMachineSizeTypesStandardH16Mr,
2474		VirtualMachineSizeTypesStandardH16R,
2475		VirtualMachineSizeTypesStandardH8,
2476		VirtualMachineSizeTypesStandardH8M,
2477		VirtualMachineSizeTypesStandardL16S,
2478		VirtualMachineSizeTypesStandardL32S,
2479		VirtualMachineSizeTypesStandardL4S,
2480		VirtualMachineSizeTypesStandardL8S,
2481		VirtualMachineSizeTypesStandardM12832Ms,
2482		VirtualMachineSizeTypesStandardM12864Ms,
2483		VirtualMachineSizeTypesStandardM128Ms,
2484		VirtualMachineSizeTypesStandardM128S,
2485		VirtualMachineSizeTypesStandardM6416Ms,
2486		VirtualMachineSizeTypesStandardM6432Ms,
2487		VirtualMachineSizeTypesStandardM64Ms,
2488		VirtualMachineSizeTypesStandardM64S,
2489		VirtualMachineSizeTypesStandardNC12,
2490		VirtualMachineSizeTypesStandardNC12SV2,
2491		VirtualMachineSizeTypesStandardNC12SV3,
2492		VirtualMachineSizeTypesStandardNC24,
2493		VirtualMachineSizeTypesStandardNC24R,
2494		VirtualMachineSizeTypesStandardNC24RsV2,
2495		VirtualMachineSizeTypesStandardNC24RsV3,
2496		VirtualMachineSizeTypesStandardNC24SV2,
2497		VirtualMachineSizeTypesStandardNC24SV3,
2498		VirtualMachineSizeTypesStandardNC6,
2499		VirtualMachineSizeTypesStandardNC6SV2,
2500		VirtualMachineSizeTypesStandardNC6SV3,
2501		VirtualMachineSizeTypesStandardND12S,
2502		VirtualMachineSizeTypesStandardND24Rs,
2503		VirtualMachineSizeTypesStandardND24S,
2504		VirtualMachineSizeTypesStandardND6S,
2505		VirtualMachineSizeTypesStandardNV12,
2506		VirtualMachineSizeTypesStandardNV24,
2507		VirtualMachineSizeTypesStandardNV6,
2508	}
2509}
2510
2511// ToPtr returns a *VirtualMachineSizeTypes pointing to the current value.
2512func (c VirtualMachineSizeTypes) ToPtr() *VirtualMachineSizeTypes {
2513	return &c
2514}
2515
2516// WindowsPatchAssessmentMode - Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.
2517// Possible values are:
2518// ImageDefault - You control the timing of patch assessments on a virtual machine.
2519// AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
2520type WindowsPatchAssessmentMode string
2521
2522const (
2523	WindowsPatchAssessmentModeAutomaticByPlatform WindowsPatchAssessmentMode = "AutomaticByPlatform"
2524	WindowsPatchAssessmentModeImageDefault        WindowsPatchAssessmentMode = "ImageDefault"
2525)
2526
2527// PossibleWindowsPatchAssessmentModeValues returns the possible values for the WindowsPatchAssessmentMode const type.
2528func PossibleWindowsPatchAssessmentModeValues() []WindowsPatchAssessmentMode {
2529	return []WindowsPatchAssessmentMode{
2530		WindowsPatchAssessmentModeAutomaticByPlatform,
2531		WindowsPatchAssessmentModeImageDefault,
2532	}
2533}
2534
2535// ToPtr returns a *WindowsPatchAssessmentMode pointing to the current value.
2536func (c WindowsPatchAssessmentMode) ToPtr() *WindowsPatchAssessmentMode {
2537	return &c
2538}
2539
2540// WindowsVMGuestPatchMode - Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set
2541// with OrchestrationMode as Flexible.
2542// Possible values are:
2543// Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic
2544// updates are disabled; the property
2545// WindowsConfiguration.enableAutomaticUpdates must be false
2546// AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.
2547// AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates
2548// must be true
2549type WindowsVMGuestPatchMode string
2550
2551const (
2552	WindowsVMGuestPatchModeAutomaticByOS       WindowsVMGuestPatchMode = "AutomaticByOS"
2553	WindowsVMGuestPatchModeAutomaticByPlatform WindowsVMGuestPatchMode = "AutomaticByPlatform"
2554	WindowsVMGuestPatchModeManual              WindowsVMGuestPatchMode = "Manual"
2555)
2556
2557// PossibleWindowsVMGuestPatchModeValues returns the possible values for the WindowsVMGuestPatchMode const type.
2558func PossibleWindowsVMGuestPatchModeValues() []WindowsVMGuestPatchMode {
2559	return []WindowsVMGuestPatchMode{
2560		WindowsVMGuestPatchModeAutomaticByOS,
2561		WindowsVMGuestPatchModeAutomaticByPlatform,
2562		WindowsVMGuestPatchModeManual,
2563	}
2564}
2565
2566// ToPtr returns a *WindowsVMGuestPatchMode pointing to the current value.
2567func (c WindowsVMGuestPatchMode) ToPtr() *WindowsVMGuestPatchMode {
2568	return &c
2569}
2570