package compute // Copyright (c) Microsoft and contributors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // // See the License for the specific language governing permissions and // limitations under the License. // // Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0 // Changes may cause incorrect behavior and will be lost if the code is // regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "net/http" ) // CachingTypes enumerates the values for caching types. type CachingTypes string const ( // None specifies the none state for caching types. None CachingTypes = "None" // ReadOnly specifies the read only state for caching types. ReadOnly CachingTypes = "ReadOnly" // ReadWrite specifies the read write state for caching types. ReadWrite CachingTypes = "ReadWrite" ) // ComponentNames enumerates the values for component names. type ComponentNames string const ( // MicrosoftWindowsShellSetup specifies the microsoft windows shell setup // state for component names. MicrosoftWindowsShellSetup ComponentNames = "Microsoft-Windows-Shell-Setup" ) // DiskCreateOptionTypes enumerates the values for disk create option types. type DiskCreateOptionTypes string const ( // Attach specifies the attach state for disk create option types. Attach DiskCreateOptionTypes = "attach" // Empty specifies the empty state for disk create option types. Empty DiskCreateOptionTypes = "empty" // FromImage specifies the from image state for disk create option types. FromImage DiskCreateOptionTypes = "fromImage" ) // InstanceViewTypes enumerates the values for instance view types. type InstanceViewTypes string const ( // InstanceView specifies the instance view state for instance view types. InstanceView InstanceViewTypes = "instanceView" ) // OperatingSystemStateTypes enumerates the values for operating system state // types. type OperatingSystemStateTypes string const ( // Generalized specifies the generalized state for operating system state // types. Generalized OperatingSystemStateTypes = "Generalized" // Specialized specifies the specialized state for operating system state // types. Specialized OperatingSystemStateTypes = "Specialized" ) // OperatingSystemTypes enumerates the values for operating system types. type OperatingSystemTypes string const ( // Linux specifies the linux state for operating system types. Linux OperatingSystemTypes = "Linux" // Windows specifies the windows state for operating system types. Windows OperatingSystemTypes = "Windows" ) // PassNames enumerates the values for pass names. type PassNames string const ( // OobeSystem specifies the oobe system state for pass names. OobeSystem PassNames = "oobeSystem" ) // ProtocolTypes enumerates the values for protocol types. type ProtocolTypes string const ( // HTTP specifies the http state for protocol types. HTTP ProtocolTypes = "Http" // HTTPS specifies the https state for protocol types. HTTPS ProtocolTypes = "Https" ) // ResourceIdentityType enumerates the values for resource identity type. type ResourceIdentityType string const ( // SystemAssigned specifies the system assigned state for resource identity // type. SystemAssigned ResourceIdentityType = "SystemAssigned" ) // SettingNames enumerates the values for setting names. type SettingNames string const ( // AutoLogon specifies the auto logon state for setting names. AutoLogon SettingNames = "AutoLogon" // FirstLogonCommands specifies the first logon commands state for setting // names. FirstLogonCommands SettingNames = "FirstLogonCommands" ) // StatusLevelTypes enumerates the values for status level types. type StatusLevelTypes string const ( // Error specifies the error state for status level types. Error StatusLevelTypes = "Error" // Info specifies the info state for status level types. Info StatusLevelTypes = "Info" // Warning specifies the warning state for status level types. Warning StatusLevelTypes = "Warning" ) // StorageAccountTypes enumerates the values for storage account types. type StorageAccountTypes string const ( // PremiumLRS specifies the premium lrs state for storage account types. PremiumLRS StorageAccountTypes = "Premium_LRS" // StandardLRS specifies the standard lrs state for storage account types. StandardLRS StorageAccountTypes = "Standard_LRS" ) // UpgradeMode enumerates the values for upgrade mode. type UpgradeMode string const ( // Automatic specifies the automatic state for upgrade mode. Automatic UpgradeMode = "Automatic" // Manual specifies the manual state for upgrade mode. Manual UpgradeMode = "Manual" ) // VirtualMachineScaleSetSkuScaleType enumerates the values for virtual machine // scale set sku scale type. type VirtualMachineScaleSetSkuScaleType string const ( // VirtualMachineScaleSetSkuScaleTypeAutomatic specifies the virtual // machine scale set sku scale type automatic state for virtual machine // scale set sku scale type. VirtualMachineScaleSetSkuScaleTypeAutomatic VirtualMachineScaleSetSkuScaleType = "Automatic" // VirtualMachineScaleSetSkuScaleTypeNone specifies the virtual machine // scale set sku scale type none state for virtual machine scale set sku // scale type. VirtualMachineScaleSetSkuScaleTypeNone VirtualMachineScaleSetSkuScaleType = "None" ) // VirtualMachineSizeTypes enumerates the values for virtual machine size // types. type VirtualMachineSizeTypes string const ( // BasicA0 specifies the basic a0 state for virtual machine size types. BasicA0 VirtualMachineSizeTypes = "Basic_A0" // BasicA1 specifies the basic a1 state for virtual machine size types. BasicA1 VirtualMachineSizeTypes = "Basic_A1" // BasicA2 specifies the basic a2 state for virtual machine size types. BasicA2 VirtualMachineSizeTypes = "Basic_A2" // BasicA3 specifies the basic a3 state for virtual machine size types. BasicA3 VirtualMachineSizeTypes = "Basic_A3" // BasicA4 specifies the basic a4 state for virtual machine size types. BasicA4 VirtualMachineSizeTypes = "Basic_A4" // StandardA0 specifies the standard a0 state for virtual machine size // types. StandardA0 VirtualMachineSizeTypes = "Standard_A0" // StandardA1 specifies the standard a1 state for virtual machine size // types. StandardA1 VirtualMachineSizeTypes = "Standard_A1" // StandardA10 specifies the standard a10 state for virtual machine size // types. StandardA10 VirtualMachineSizeTypes = "Standard_A10" // StandardA11 specifies the standard a11 state for virtual machine size // types. StandardA11 VirtualMachineSizeTypes = "Standard_A11" // StandardA2 specifies the standard a2 state for virtual machine size // types. StandardA2 VirtualMachineSizeTypes = "Standard_A2" // StandardA3 specifies the standard a3 state for virtual machine size // types. StandardA3 VirtualMachineSizeTypes = "Standard_A3" // StandardA4 specifies the standard a4 state for virtual machine size // types. StandardA4 VirtualMachineSizeTypes = "Standard_A4" // StandardA5 specifies the standard a5 state for virtual machine size // types. StandardA5 VirtualMachineSizeTypes = "Standard_A5" // StandardA6 specifies the standard a6 state for virtual machine size // types. StandardA6 VirtualMachineSizeTypes = "Standard_A6" // StandardA7 specifies the standard a7 state for virtual machine size // types. StandardA7 VirtualMachineSizeTypes = "Standard_A7" // StandardA8 specifies the standard a8 state for virtual machine size // types. StandardA8 VirtualMachineSizeTypes = "Standard_A8" // StandardA9 specifies the standard a9 state for virtual machine size // types. StandardA9 VirtualMachineSizeTypes = "Standard_A9" // StandardD1 specifies the standard d1 state for virtual machine size // types. StandardD1 VirtualMachineSizeTypes = "Standard_D1" // StandardD11 specifies the standard d11 state for virtual machine size // types. StandardD11 VirtualMachineSizeTypes = "Standard_D11" // StandardD11V2 specifies the standard d11v2 state for virtual machine // size types. StandardD11V2 VirtualMachineSizeTypes = "Standard_D11_v2" // StandardD12 specifies the standard d12 state for virtual machine size // types. StandardD12 VirtualMachineSizeTypes = "Standard_D12" // StandardD12V2 specifies the standard d12v2 state for virtual machine // size types. StandardD12V2 VirtualMachineSizeTypes = "Standard_D12_v2" // StandardD13 specifies the standard d13 state for virtual machine size // types. StandardD13 VirtualMachineSizeTypes = "Standard_D13" // StandardD13V2 specifies the standard d13v2 state for virtual machine // size types. StandardD13V2 VirtualMachineSizeTypes = "Standard_D13_v2" // StandardD14 specifies the standard d14 state for virtual machine size // types. StandardD14 VirtualMachineSizeTypes = "Standard_D14" // StandardD14V2 specifies the standard d14v2 state for virtual machine // size types. StandardD14V2 VirtualMachineSizeTypes = "Standard_D14_v2" // StandardD15V2 specifies the standard d15v2 state for virtual machine // size types. StandardD15V2 VirtualMachineSizeTypes = "Standard_D15_v2" // StandardD1V2 specifies the standard d1v2 state for virtual machine size // types. StandardD1V2 VirtualMachineSizeTypes = "Standard_D1_v2" // StandardD2 specifies the standard d2 state for virtual machine size // types. StandardD2 VirtualMachineSizeTypes = "Standard_D2" // StandardD2V2 specifies the standard d2v2 state for virtual machine size // types. StandardD2V2 VirtualMachineSizeTypes = "Standard_D2_v2" // StandardD3 specifies the standard d3 state for virtual machine size // types. StandardD3 VirtualMachineSizeTypes = "Standard_D3" // StandardD3V2 specifies the standard d3v2 state for virtual machine size // types. StandardD3V2 VirtualMachineSizeTypes = "Standard_D3_v2" // StandardD4 specifies the standard d4 state for virtual machine size // types. StandardD4 VirtualMachineSizeTypes = "Standard_D4" // StandardD4V2 specifies the standard d4v2 state for virtual machine size // types. StandardD4V2 VirtualMachineSizeTypes = "Standard_D4_v2" // StandardD5V2 specifies the standard d5v2 state for virtual machine size // types. StandardD5V2 VirtualMachineSizeTypes = "Standard_D5_v2" // StandardDS1 specifies the standard ds1 state for virtual machine size // types. StandardDS1 VirtualMachineSizeTypes = "Standard_DS1" // StandardDS11 specifies the standard ds11 state for virtual machine size // types. StandardDS11 VirtualMachineSizeTypes = "Standard_DS11" // StandardDS11V2 specifies the standard ds11v2 state for virtual machine // size types. StandardDS11V2 VirtualMachineSizeTypes = "Standard_DS11_v2" // StandardDS12 specifies the standard ds12 state for virtual machine size // types. StandardDS12 VirtualMachineSizeTypes = "Standard_DS12" // StandardDS12V2 specifies the standard ds12v2 state for virtual machine // size types. StandardDS12V2 VirtualMachineSizeTypes = "Standard_DS12_v2" // StandardDS13 specifies the standard ds13 state for virtual machine size // types. StandardDS13 VirtualMachineSizeTypes = "Standard_DS13" // StandardDS13V2 specifies the standard ds13v2 state for virtual machine // size types. StandardDS13V2 VirtualMachineSizeTypes = "Standard_DS13_v2" // StandardDS14 specifies the standard ds14 state for virtual machine size // types. StandardDS14 VirtualMachineSizeTypes = "Standard_DS14" // StandardDS14V2 specifies the standard ds14v2 state for virtual machine // size types. StandardDS14V2 VirtualMachineSizeTypes = "Standard_DS14_v2" // StandardDS15V2 specifies the standard ds15v2 state for virtual machine // size types. StandardDS15V2 VirtualMachineSizeTypes = "Standard_DS15_v2" // StandardDS1V2 specifies the standard ds1v2 state for virtual machine // size types. StandardDS1V2 VirtualMachineSizeTypes = "Standard_DS1_v2" // StandardDS2 specifies the standard ds2 state for virtual machine size // types. StandardDS2 VirtualMachineSizeTypes = "Standard_DS2" // StandardDS2V2 specifies the standard ds2v2 state for virtual machine // size types. StandardDS2V2 VirtualMachineSizeTypes = "Standard_DS2_v2" // StandardDS3 specifies the standard ds3 state for virtual machine size // types. StandardDS3 VirtualMachineSizeTypes = "Standard_DS3" // StandardDS3V2 specifies the standard ds3v2 state for virtual machine // size types. StandardDS3V2 VirtualMachineSizeTypes = "Standard_DS3_v2" // StandardDS4 specifies the standard ds4 state for virtual machine size // types. StandardDS4 VirtualMachineSizeTypes = "Standard_DS4" // StandardDS4V2 specifies the standard ds4v2 state for virtual machine // size types. StandardDS4V2 VirtualMachineSizeTypes = "Standard_DS4_v2" // StandardDS5V2 specifies the standard ds5v2 state for virtual machine // size types. StandardDS5V2 VirtualMachineSizeTypes = "Standard_DS5_v2" // StandardG1 specifies the standard g1 state for virtual machine size // types. StandardG1 VirtualMachineSizeTypes = "Standard_G1" // StandardG2 specifies the standard g2 state for virtual machine size // types. StandardG2 VirtualMachineSizeTypes = "Standard_G2" // StandardG3 specifies the standard g3 state for virtual machine size // types. StandardG3 VirtualMachineSizeTypes = "Standard_G3" // StandardG4 specifies the standard g4 state for virtual machine size // types. StandardG4 VirtualMachineSizeTypes = "Standard_G4" // StandardG5 specifies the standard g5 state for virtual machine size // types. StandardG5 VirtualMachineSizeTypes = "Standard_G5" // StandardGS1 specifies the standard gs1 state for virtual machine size // types. StandardGS1 VirtualMachineSizeTypes = "Standard_GS1" // StandardGS2 specifies the standard gs2 state for virtual machine size // types. StandardGS2 VirtualMachineSizeTypes = "Standard_GS2" // StandardGS3 specifies the standard gs3 state for virtual machine size // types. StandardGS3 VirtualMachineSizeTypes = "Standard_GS3" // StandardGS4 specifies the standard gs4 state for virtual machine size // types. StandardGS4 VirtualMachineSizeTypes = "Standard_GS4" // StandardGS5 specifies the standard gs5 state for virtual machine size // types. StandardGS5 VirtualMachineSizeTypes = "Standard_GS5" ) // AdditionalUnattendContent is additional XML formatted information that can // be included in the Unattend.xml file, which is used by Windows Setup. // Contents are defined by setting name, component name, and the pass in which // the content is a applied. type AdditionalUnattendContent struct { PassName PassNames `json:"passName,omitempty"` ComponentName ComponentNames `json:"componentName,omitempty"` SettingName SettingNames `json:"settingName,omitempty"` Content *string `json:"content,omitempty"` } // APIEntityReference is the API entity reference. type APIEntityReference struct { ID *string `json:"id,omitempty"` } // APIError is api error. type APIError struct { Details *[]APIErrorBase `json:"details,omitempty"` Innererror *InnerError `json:"innererror,omitempty"` Code *string `json:"code,omitempty"` Target *string `json:"target,omitempty"` Message *string `json:"message,omitempty"` } // APIErrorBase is api error base. type APIErrorBase struct { Code *string `json:"code,omitempty"` Target *string `json:"target,omitempty"` Message *string `json:"message,omitempty"` } // AvailabilitySet is create or update availability set parameters. type AvailabilitySet struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` *AvailabilitySetProperties `json:"properties,omitempty"` Sku *Sku `json:"sku,omitempty"` } // AvailabilitySetListResult is the List Availability Set operation response. type AvailabilitySetListResult struct { autorest.Response `json:"-"` Value *[]AvailabilitySet `json:"value,omitempty"` } // AvailabilitySetProperties is the instance view of a resource. type AvailabilitySetProperties struct { PlatformUpdateDomainCount *int32 `json:"platformUpdateDomainCount,omitempty"` PlatformFaultDomainCount *int32 `json:"platformFaultDomainCount,omitempty"` VirtualMachines *[]SubResource `json:"virtualMachines,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` Managed *bool `json:"managed,omitempty"` } // BootDiagnostics is describes Boot Diagnostics. type BootDiagnostics struct { Enabled *bool `json:"enabled,omitempty"` StorageURI *string `json:"storageUri,omitempty"` } // BootDiagnosticsInstanceView is the instance view of a virtual machine boot // diagnostics. type BootDiagnosticsInstanceView struct { ConsoleScreenshotBlobURI *string `json:"consoleScreenshotBlobUri,omitempty"` SerialConsoleLogBlobURI *string `json:"serialConsoleLogBlobUri,omitempty"` } // DataDisk is describes a data disk. type DataDisk struct { Lun *int32 `json:"lun,omitempty"` Name *string `json:"name,omitempty"` Vhd *VirtualHardDisk `json:"vhd,omitempty"` Image *VirtualHardDisk `json:"image,omitempty"` Caching CachingTypes `json:"caching,omitempty"` CreateOption DiskCreateOptionTypes `json:"createOption,omitempty"` DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` ManagedDisk *ManagedDiskParameters `json:"managedDisk,omitempty"` } // DataDiskImage is contains the data disk images information. type DataDiskImage struct { Lun *int32 `json:"lun,omitempty"` } // DiagnosticsProfile is describes a diagnostics profile. type DiagnosticsProfile struct { BootDiagnostics *BootDiagnostics `json:"bootDiagnostics,omitempty"` } // DiskEncryptionSettings is describes a Encryption Settings for a Disk type DiskEncryptionSettings struct { DiskEncryptionKey *KeyVaultSecretReference `json:"diskEncryptionKey,omitempty"` KeyEncryptionKey *KeyVaultKeyReference `json:"keyEncryptionKey,omitempty"` Enabled *bool `json:"enabled,omitempty"` } // DiskInstanceView is the instance view of the disk. type DiskInstanceView struct { Name *string `json:"name,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } // HardwareProfile is describes a hardware profile. type HardwareProfile struct { VMSize VirtualMachineSizeTypes `json:"vmSize,omitempty"` } // Image is describes an Image. type Image struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` *ImageProperties `json:"properties,omitempty"` } // ImageDataDisk is describes a data disk. type ImageDataDisk struct { Lun *int32 `json:"lun,omitempty"` Snapshot *SubResource `json:"snapshot,omitempty"` ManagedDisk *SubResource `json:"managedDisk,omitempty"` BlobURI *string `json:"blobUri,omitempty"` Caching CachingTypes `json:"caching,omitempty"` DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` } // ImageListResult is the List Image operation response. type ImageListResult struct { autorest.Response `json:"-"` Value *[]Image `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // ImageListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client ImageListResult) ImageListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // ImageOSDisk is describes an Operating System disk. type ImageOSDisk struct { OsType OperatingSystemTypes `json:"osType,omitempty"` OsState OperatingSystemStateTypes `json:"osState,omitempty"` Snapshot *SubResource `json:"snapshot,omitempty"` ManagedDisk *SubResource `json:"managedDisk,omitempty"` BlobURI *string `json:"blobUri,omitempty"` Caching CachingTypes `json:"caching,omitempty"` DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` } // ImageProperties is describes the properties of an Image. type ImageProperties struct { SourceVirtualMachine *SubResource `json:"sourceVirtualMachine,omitempty"` StorageProfile *ImageStorageProfile `json:"storageProfile,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } // ImageReference is the image reference. type ImageReference struct { ID *string `json:"id,omitempty"` Publisher *string `json:"publisher,omitempty"` Offer *string `json:"offer,omitempty"` Sku *string `json:"sku,omitempty"` Version *string `json:"version,omitempty"` } // ImageStorageProfile is describes a storage profile. type ImageStorageProfile struct { OsDisk *ImageOSDisk `json:"osDisk,omitempty"` DataDisks *[]ImageDataDisk `json:"dataDisks,omitempty"` } // InnerError is inner error details. type InnerError struct { Exceptiontype *string `json:"exceptiontype,omitempty"` Errordetail *string `json:"errordetail,omitempty"` } // InstanceViewStatus is instance view status. type InstanceViewStatus struct { Code *string `json:"code,omitempty"` Level StatusLevelTypes `json:"level,omitempty"` DisplayStatus *string `json:"displayStatus,omitempty"` Message *string `json:"message,omitempty"` Time *date.Time `json:"time,omitempty"` } // KeyVaultKeyReference is describes a reference to Key Vault Key type KeyVaultKeyReference struct { KeyURL *string `json:"keyUrl,omitempty"` SourceVault *SubResource `json:"sourceVault,omitempty"` } // KeyVaultSecretReference is describes a reference to Key Vault Secret type KeyVaultSecretReference struct { SecretURL *string `json:"secretUrl,omitempty"` SourceVault *SubResource `json:"sourceVault,omitempty"` } // LinuxConfiguration is describes Windows configuration of the OS Profile. type LinuxConfiguration struct { DisablePasswordAuthentication *bool `json:"disablePasswordAuthentication,omitempty"` SSH *SSHConfiguration `json:"ssh,omitempty"` } // ListUsagesResult is the List Usages operation response. type ListUsagesResult struct { autorest.Response `json:"-"` Value *[]Usage `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // ListUsagesResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client ListUsagesResult) ListUsagesResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // ListVirtualMachineExtensionImage is type ListVirtualMachineExtensionImage struct { autorest.Response `json:"-"` Value *[]VirtualMachineExtensionImage `json:"value,omitempty"` } // ListVirtualMachineImageResource is type ListVirtualMachineImageResource struct { autorest.Response `json:"-"` Value *[]VirtualMachineImageResource `json:"value,omitempty"` } // LongRunningOperationProperties is compute-specific operation properties, // including output type LongRunningOperationProperties struct { Output *map[string]interface{} `json:"output,omitempty"` } // ManagedDiskParameters is the parameters of a managed disk. type ManagedDiskParameters struct { ID *string `json:"id,omitempty"` StorageAccountType StorageAccountTypes `json:"storageAccountType,omitempty"` } // NetworkInterfaceReference is describes a network interface reference. type NetworkInterfaceReference struct { ID *string `json:"id,omitempty"` *NetworkInterfaceReferenceProperties `json:"properties,omitempty"` } // NetworkInterfaceReferenceProperties is describes a network interface // reference properties. type NetworkInterfaceReferenceProperties struct { Primary *bool `json:"primary,omitempty"` } // NetworkProfile is describes a network profile. type NetworkProfile struct { NetworkInterfaces *[]NetworkInterfaceReference `json:"networkInterfaces,omitempty"` } // OperationStatusResponse is operation status response type OperationStatusResponse struct { autorest.Response `json:"-"` Name *string `json:"name,omitempty"` Status *string `json:"status,omitempty"` StartTime *date.Time `json:"startTime,omitempty"` EndTime *date.Time `json:"endTime,omitempty"` Error *APIError `json:"error,omitempty"` } // OSDisk is describes an Operating System disk. type OSDisk struct { OsType OperatingSystemTypes `json:"osType,omitempty"` EncryptionSettings *DiskEncryptionSettings `json:"encryptionSettings,omitempty"` Name *string `json:"name,omitempty"` Vhd *VirtualHardDisk `json:"vhd,omitempty"` Image *VirtualHardDisk `json:"image,omitempty"` Caching CachingTypes `json:"caching,omitempty"` CreateOption DiskCreateOptionTypes `json:"createOption,omitempty"` DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` ManagedDisk *ManagedDiskParameters `json:"managedDisk,omitempty"` } // OSDiskImage is contains the os disk image information. type OSDiskImage struct { OperatingSystem OperatingSystemTypes `json:"operatingSystem,omitempty"` } // OSProfile is describes an OS profile. type OSProfile struct { ComputerName *string `json:"computerName,omitempty"` AdminUsername *string `json:"adminUsername,omitempty"` AdminPassword *string `json:"adminPassword,omitempty"` CustomData *string `json:"customData,omitempty"` WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"` LinuxConfiguration *LinuxConfiguration `json:"linuxConfiguration,omitempty"` Secrets *[]VaultSecretGroup `json:"secrets,omitempty"` } // Plan is plan for the resource. type Plan struct { Name *string `json:"name,omitempty"` Publisher *string `json:"publisher,omitempty"` Product *string `json:"product,omitempty"` PromotionCode *string `json:"promotionCode,omitempty"` } // PurchasePlan is used for establishing the purchase context of any 3rd Party // artifact through MarketPlace. type PurchasePlan struct { Publisher *string `json:"publisher,omitempty"` Name *string `json:"name,omitempty"` Product *string `json:"product,omitempty"` } // Resource is the Resource model definition. type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` } // Sku is describes a virtual machine scale set sku. type Sku struct { Name *string `json:"name,omitempty"` Tier *string `json:"tier,omitempty"` Capacity *int64 `json:"capacity,omitempty"` } // SSHConfiguration is sSH configuration for Linux based VMs running on Azure type SSHConfiguration struct { PublicKeys *[]SSHPublicKey `json:"publicKeys,omitempty"` } // SSHPublicKey is contains information about SSH certificate public key and // the path on the Linux VM where the public key is placed. type SSHPublicKey struct { Path *string `json:"path,omitempty"` KeyData *string `json:"keyData,omitempty"` } // StorageProfile is describes a storage profile. type StorageProfile struct { ImageReference *ImageReference `json:"imageReference,omitempty"` OsDisk *OSDisk `json:"osDisk,omitempty"` DataDisks *[]DataDisk `json:"dataDisks,omitempty"` } // SubResource is type SubResource struct { ID *string `json:"id,omitempty"` } // SubResourceReadOnly is type SubResourceReadOnly struct { ID *string `json:"id,omitempty"` } // UpgradePolicy is describes an upgrade policy - automatic or manual. type UpgradePolicy struct { Mode UpgradeMode `json:"mode,omitempty"` } // Usage is describes Compute Resource Usage. type Usage struct { Unit *string `json:"unit,omitempty"` CurrentValue *int32 `json:"currentValue,omitempty"` Limit *int64 `json:"limit,omitempty"` Name *UsageName `json:"name,omitempty"` } // UsageName is the Usage Names. type UsageName struct { Value *string `json:"value,omitempty"` LocalizedValue *string `json:"localizedValue,omitempty"` } // VaultCertificate is describes a single certificate reference in a Key Vault, // and where the certificate should reside on the VM. type VaultCertificate struct { CertificateURL *string `json:"certificateUrl,omitempty"` CertificateStore *string `json:"certificateStore,omitempty"` } // VaultSecretGroup is describes a set of certificates which are all in the // same Key Vault. type VaultSecretGroup struct { SourceVault *SubResource `json:"sourceVault,omitempty"` VaultCertificates *[]VaultCertificate `json:"vaultCertificates,omitempty"` } // VirtualHardDisk is describes the uri of a disk. type VirtualHardDisk struct { URI *string `json:"uri,omitempty"` } // VirtualMachine is describes a Virtual Machine. type VirtualMachine struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` Plan *Plan `json:"plan,omitempty"` *VirtualMachineProperties `json:"properties,omitempty"` Resources *[]VirtualMachineExtension `json:"resources,omitempty"` Identity *VirtualMachineIdentity `json:"identity,omitempty"` } // VirtualMachineAgentInstanceView is the instance view of the VM Agent running // on the virtual machine. type VirtualMachineAgentInstanceView struct { VMAgentVersion *string `json:"vmAgentVersion,omitempty"` ExtensionHandlers *[]VirtualMachineExtensionHandlerInstanceView `json:"extensionHandlers,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } // VirtualMachineCaptureParameters is capture Virtual Machine parameters. type VirtualMachineCaptureParameters struct { VhdPrefix *string `json:"vhdPrefix,omitempty"` DestinationContainerName *string `json:"destinationContainerName,omitempty"` OverwriteVhds *bool `json:"overwriteVhds,omitempty"` } // VirtualMachineCaptureResult is resource Id. type VirtualMachineCaptureResult struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` *VirtualMachineCaptureResultProperties `json:"properties,omitempty"` } // VirtualMachineCaptureResultProperties is compute-specific operation // properties, including output type VirtualMachineCaptureResultProperties struct { Output *map[string]interface{} `json:"output,omitempty"` } // VirtualMachineExtension is describes a Virtual Machine Extension. type VirtualMachineExtension struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` *VirtualMachineExtensionProperties `json:"properties,omitempty"` } // VirtualMachineExtensionHandlerInstanceView is the instance view of a virtual // machine extension handler. type VirtualMachineExtensionHandlerInstanceView struct { Type *string `json:"type,omitempty"` TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"` Status *InstanceViewStatus `json:"status,omitempty"` } // VirtualMachineExtensionImage is describes a Virtual Machine Extension Image. type VirtualMachineExtensionImage struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` *VirtualMachineExtensionImageProperties `json:"properties,omitempty"` } // VirtualMachineExtensionImageProperties is describes the properties of a // Virtual Machine Extension Image. type VirtualMachineExtensionImageProperties struct { OperatingSystem *string `json:"operatingSystem,omitempty"` ComputeRole *string `json:"computeRole,omitempty"` HandlerSchema *string `json:"handlerSchema,omitempty"` VMScaleSetEnabled *bool `json:"vmScaleSetEnabled,omitempty"` SupportsMultipleExtensions *bool `json:"supportsMultipleExtensions,omitempty"` } // VirtualMachineExtensionInstanceView is the instance view of a virtual // machine extension. type VirtualMachineExtensionInstanceView struct { Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"` Substatuses *[]InstanceViewStatus `json:"substatuses,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } // VirtualMachineExtensionProperties is describes the properties of a Virtual // Machine Extension. type VirtualMachineExtensionProperties struct { ForceUpdateTag *string `json:"forceUpdateTag,omitempty"` Publisher *string `json:"publisher,omitempty"` Type *string `json:"type,omitempty"` TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"` AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty"` Settings *map[string]interface{} `json:"settings,omitempty"` ProtectedSettings *map[string]interface{} `json:"protectedSettings,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` InstanceView *VirtualMachineExtensionInstanceView `json:"instanceView,omitempty"` } // VirtualMachineIdentity is identity for the virtual machine. type VirtualMachineIdentity struct { PrincipalID *string `json:"principalId,omitempty"` TenantID *string `json:"tenantId,omitempty"` Type ResourceIdentityType `json:"type,omitempty"` } // VirtualMachineImage is describes a Virtual Machine Image. type VirtualMachineImage struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` *VirtualMachineImageProperties `json:"properties,omitempty"` } // VirtualMachineImageProperties is describes the properties of a Virtual // Machine Image. type VirtualMachineImageProperties struct { Plan *PurchasePlan `json:"plan,omitempty"` OsDiskImage *OSDiskImage `json:"osDiskImage,omitempty"` DataDiskImages *[]DataDiskImage `json:"dataDiskImages,omitempty"` } // VirtualMachineImageResource is virtual machine image resource information. type VirtualMachineImageResource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` } // VirtualMachineInstanceView is the instance view of a virtual machine. type VirtualMachineInstanceView struct { PlatformUpdateDomain *int32 `json:"platformUpdateDomain,omitempty"` PlatformFaultDomain *int32 `json:"platformFaultDomain,omitempty"` RdpThumbPrint *string `json:"rdpThumbPrint,omitempty"` VMAgent *VirtualMachineAgentInstanceView `json:"vmAgent,omitempty"` Disks *[]DiskInstanceView `json:"disks,omitempty"` Extensions *[]VirtualMachineExtensionInstanceView `json:"extensions,omitempty"` BootDiagnostics *BootDiagnosticsInstanceView `json:"bootDiagnostics,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } // VirtualMachineListResult is the List Virtual Machine operation response. type VirtualMachineListResult struct { autorest.Response `json:"-"` Value *[]VirtualMachine `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // VirtualMachineListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client VirtualMachineListResult) VirtualMachineListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // VirtualMachineProperties is describes the properties of a Virtual Machine. type VirtualMachineProperties struct { HardwareProfile *HardwareProfile `json:"hardwareProfile,omitempty"` StorageProfile *StorageProfile `json:"storageProfile,omitempty"` OsProfile *OSProfile `json:"osProfile,omitempty"` NetworkProfile *NetworkProfile `json:"networkProfile,omitempty"` DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"` AvailabilitySet *SubResource `json:"availabilitySet,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` InstanceView *VirtualMachineInstanceView `json:"instanceView,omitempty"` LicenseType *string `json:"licenseType,omitempty"` VMID *string `json:"vmId,omitempty"` } // VirtualMachineScaleSet is describes a Virtual Machine Scale Set. type VirtualMachineScaleSet struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` Sku *Sku `json:"sku,omitempty"` Plan *Plan `json:"plan,omitempty"` *VirtualMachineScaleSetProperties `json:"properties,omitempty"` Identity *VirtualMachineScaleSetIdentity `json:"identity,omitempty"` } // VirtualMachineScaleSetDataDisk is describes a virtual machine scale set data // disk. type VirtualMachineScaleSetDataDisk struct { Name *string `json:"name,omitempty"` Lun *int32 `json:"lun,omitempty"` Caching CachingTypes `json:"caching,omitempty"` CreateOption DiskCreateOptionTypes `json:"createOption,omitempty"` DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` ManagedDisk *VirtualMachineScaleSetManagedDiskParameters `json:"managedDisk,omitempty"` } // VirtualMachineScaleSetExtension is describes a Virtual Machine Scale Set // Extension. type VirtualMachineScaleSetExtension struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` *VirtualMachineScaleSetExtensionProperties `json:"properties,omitempty"` } // VirtualMachineScaleSetExtensionProfile is describes a virtual machine scale // set extension profile. type VirtualMachineScaleSetExtensionProfile struct { Extensions *[]VirtualMachineScaleSetExtension `json:"extensions,omitempty"` } // VirtualMachineScaleSetExtensionProperties is describes the properties of a // Virtual Machine Scale Set Extension. type VirtualMachineScaleSetExtensionProperties struct { Publisher *string `json:"publisher,omitempty"` Type *string `json:"type,omitempty"` TypeHandlerVersion *string `json:"typeHandlerVersion,omitempty"` AutoUpgradeMinorVersion *bool `json:"autoUpgradeMinorVersion,omitempty"` Settings *map[string]interface{} `json:"settings,omitempty"` ProtectedSettings *map[string]interface{} `json:"protectedSettings,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` } // VirtualMachineScaleSetIdentity is identity for the virtual machine scale // set. type VirtualMachineScaleSetIdentity struct { PrincipalID *string `json:"principalId,omitempty"` TenantID *string `json:"tenantId,omitempty"` Type ResourceIdentityType `json:"type,omitempty"` } // VirtualMachineScaleSetInstanceView is the instance view of a virtual machine // scale set. type VirtualMachineScaleSetInstanceView struct { autorest.Response `json:"-"` VirtualMachine *VirtualMachineScaleSetInstanceViewStatusesSummary `json:"virtualMachine,omitempty"` Extensions *[]VirtualMachineScaleSetVMExtensionsSummary `json:"extensions,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` } // VirtualMachineScaleSetInstanceViewStatusesSummary is instance view statuses // summary for virtual machines of a virtual machine scale set. type VirtualMachineScaleSetInstanceViewStatusesSummary struct { StatusesSummary *[]VirtualMachineStatusCodeCount `json:"statusesSummary,omitempty"` } // VirtualMachineScaleSetIPConfiguration is describes a virtual machine scale // set network profile's IP configuration. type VirtualMachineScaleSetIPConfiguration struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` *VirtualMachineScaleSetIPConfigurationProperties `json:"properties,omitempty"` } // VirtualMachineScaleSetIPConfigurationProperties is describes a virtual // machine scale set network profile's IP configuration properties. type VirtualMachineScaleSetIPConfigurationProperties struct { Subnet *APIEntityReference `json:"subnet,omitempty"` ApplicationGatewayBackendAddressPools *[]SubResource `json:"applicationGatewayBackendAddressPools,omitempty"` LoadBalancerBackendAddressPools *[]SubResource `json:"loadBalancerBackendAddressPools,omitempty"` LoadBalancerInboundNatPools *[]SubResource `json:"loadBalancerInboundNatPools,omitempty"` } // VirtualMachineScaleSetListResult is the List Virtual Machine operation // response. type VirtualMachineScaleSetListResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineScaleSet `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // VirtualMachineScaleSetListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client VirtualMachineScaleSetListResult) VirtualMachineScaleSetListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // VirtualMachineScaleSetListSkusResult is the Virtual Machine Scale Set List // Skus operation response. type VirtualMachineScaleSetListSkusResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineScaleSetSku `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // VirtualMachineScaleSetListSkusResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client VirtualMachineScaleSetListSkusResult) VirtualMachineScaleSetListSkusResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // VirtualMachineScaleSetListWithLinkResult is the List Virtual Machine // operation response. type VirtualMachineScaleSetListWithLinkResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineScaleSet `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // VirtualMachineScaleSetListWithLinkResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client VirtualMachineScaleSetListWithLinkResult) VirtualMachineScaleSetListWithLinkResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // VirtualMachineScaleSetManagedDiskParameters is describes the parameters of a // ScaleSet managed disk. type VirtualMachineScaleSetManagedDiskParameters struct { StorageAccountType StorageAccountTypes `json:"storageAccountType,omitempty"` } // VirtualMachineScaleSetNetworkConfiguration is describes a virtual machine // scale set network profile's network configurations. type VirtualMachineScaleSetNetworkConfiguration struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` *VirtualMachineScaleSetNetworkConfigurationProperties `json:"properties,omitempty"` } // VirtualMachineScaleSetNetworkConfigurationProperties is describes a virtual // machine scale set network profile's IP configuration. type VirtualMachineScaleSetNetworkConfigurationProperties struct { Primary *bool `json:"primary,omitempty"` IPConfigurations *[]VirtualMachineScaleSetIPConfiguration `json:"ipConfigurations,omitempty"` } // VirtualMachineScaleSetNetworkProfile is describes a virtual machine scale // set network profile. type VirtualMachineScaleSetNetworkProfile struct { NetworkInterfaceConfigurations *[]VirtualMachineScaleSetNetworkConfiguration `json:"networkInterfaceConfigurations,omitempty"` } // VirtualMachineScaleSetOSDisk is describes a virtual machine scale set // operating system disk. type VirtualMachineScaleSetOSDisk struct { Name *string `json:"name,omitempty"` Caching CachingTypes `json:"caching,omitempty"` CreateOption DiskCreateOptionTypes `json:"createOption,omitempty"` OsType OperatingSystemTypes `json:"osType,omitempty"` Image *VirtualHardDisk `json:"image,omitempty"` VhdContainers *[]string `json:"vhdContainers,omitempty"` ManagedDisk *VirtualMachineScaleSetManagedDiskParameters `json:"managedDisk,omitempty"` } // VirtualMachineScaleSetOSProfile is describes a virtual machine scale set OS // profile. type VirtualMachineScaleSetOSProfile struct { ComputerNamePrefix *string `json:"computerNamePrefix,omitempty"` AdminUsername *string `json:"adminUsername,omitempty"` AdminPassword *string `json:"adminPassword,omitempty"` CustomData *string `json:"customData,omitempty"` WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"` LinuxConfiguration *LinuxConfiguration `json:"linuxConfiguration,omitempty"` Secrets *[]VaultSecretGroup `json:"secrets,omitempty"` } // VirtualMachineScaleSetProperties is describes the properties of a Virtual // Machine Scale Set. type VirtualMachineScaleSetProperties struct { UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` VirtualMachineProfile *VirtualMachineScaleSetVMProfile `json:"virtualMachineProfile,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` Overprovision *bool `json:"overprovision,omitempty"` SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"` } // VirtualMachineScaleSetSku is describes an available virtual machine scale // set sku. type VirtualMachineScaleSetSku struct { ResourceType *string `json:"resourceType,omitempty"` Sku *Sku `json:"sku,omitempty"` Capacity *VirtualMachineScaleSetSkuCapacity `json:"capacity,omitempty"` } // VirtualMachineScaleSetSkuCapacity is describes scaling information of a sku. type VirtualMachineScaleSetSkuCapacity struct { Minimum *int64 `json:"minimum,omitempty"` Maximum *int64 `json:"maximum,omitempty"` DefaultCapacity *int64 `json:"defaultCapacity,omitempty"` ScaleType VirtualMachineScaleSetSkuScaleType `json:"scaleType,omitempty"` } // VirtualMachineScaleSetStorageProfile is describes a virtual machine scale // set storage profile. type VirtualMachineScaleSetStorageProfile struct { ImageReference *ImageReference `json:"imageReference,omitempty"` OsDisk *VirtualMachineScaleSetOSDisk `json:"osDisk,omitempty"` DataDisks *[]VirtualMachineScaleSetDataDisk `json:"dataDisks,omitempty"` } // VirtualMachineScaleSetVM is describes a virtual machine scale set virtual // machine. type VirtualMachineScaleSetVM struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` InstanceID *string `json:"instanceId,omitempty"` Sku *Sku `json:"sku,omitempty"` *VirtualMachineScaleSetVMProperties `json:"properties,omitempty"` Plan *Plan `json:"plan,omitempty"` Resources *[]VirtualMachineExtension `json:"resources,omitempty"` } // VirtualMachineScaleSetVMExtensionsSummary is extensions summary for virtual // machines of a virtual machine scale set. type VirtualMachineScaleSetVMExtensionsSummary struct { Name *string `json:"name,omitempty"` StatusesSummary *[]VirtualMachineStatusCodeCount `json:"statusesSummary,omitempty"` } // VirtualMachineScaleSetVMInstanceIDs is specifies a list of virtual machine // instance IDs from the VM scale set. type VirtualMachineScaleSetVMInstanceIDs struct { InstanceIds *[]string `json:"instanceIds,omitempty"` } // VirtualMachineScaleSetVMInstanceRequiredIDs is specifies a list of virtual // machine instance IDs from the VM scale set. type VirtualMachineScaleSetVMInstanceRequiredIDs struct { InstanceIds *[]string `json:"instanceIds,omitempty"` } // VirtualMachineScaleSetVMInstanceView is the instance view of a virtual // machine scale set VM. type VirtualMachineScaleSetVMInstanceView struct { autorest.Response `json:"-"` PlatformUpdateDomain *int32 `json:"platformUpdateDomain,omitempty"` PlatformFaultDomain *int32 `json:"platformFaultDomain,omitempty"` RdpThumbPrint *string `json:"rdpThumbPrint,omitempty"` VMAgent *VirtualMachineAgentInstanceView `json:"vmAgent,omitempty"` Disks *[]DiskInstanceView `json:"disks,omitempty"` Extensions *[]VirtualMachineExtensionInstanceView `json:"extensions,omitempty"` BootDiagnostics *BootDiagnosticsInstanceView `json:"bootDiagnostics,omitempty"` Statuses *[]InstanceViewStatus `json:"statuses,omitempty"` PlacementGroupID *string `json:"placementGroupId,omitempty"` } // VirtualMachineScaleSetVMListResult is the List Virtual Machine Scale Set VMs // operation response. type VirtualMachineScaleSetVMListResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineScaleSetVM `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // VirtualMachineScaleSetVMListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client VirtualMachineScaleSetVMListResult) VirtualMachineScaleSetVMListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // VirtualMachineScaleSetVMProfile is describes a virtual machine scale set // virtual machine profile. type VirtualMachineScaleSetVMProfile struct { OsProfile *VirtualMachineScaleSetOSProfile `json:"osProfile,omitempty"` StorageProfile *VirtualMachineScaleSetStorageProfile `json:"storageProfile,omitempty"` NetworkProfile *VirtualMachineScaleSetNetworkProfile `json:"networkProfile,omitempty"` ExtensionProfile *VirtualMachineScaleSetExtensionProfile `json:"extensionProfile,omitempty"` } // VirtualMachineScaleSetVMProperties is describes the properties of a virtual // machine scale set virtual machine. type VirtualMachineScaleSetVMProperties struct { LatestModelApplied *bool `json:"latestModelApplied,omitempty"` VMID *string `json:"vmId,omitempty"` InstanceView *VirtualMachineInstanceView `json:"instanceView,omitempty"` HardwareProfile *HardwareProfile `json:"hardwareProfile,omitempty"` StorageProfile *StorageProfile `json:"storageProfile,omitempty"` OsProfile *OSProfile `json:"osProfile,omitempty"` NetworkProfile *NetworkProfile `json:"networkProfile,omitempty"` DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"` AvailabilitySet *SubResource `json:"availabilitySet,omitempty"` ProvisioningState *string `json:"provisioningState,omitempty"` LicenseType *string `json:"licenseType,omitempty"` } // VirtualMachineSize is describes the properties of a VM size. type VirtualMachineSize struct { Name *string `json:"name,omitempty"` NumberOfCores *int32 `json:"numberOfCores,omitempty"` OsDiskSizeInMB *int32 `json:"osDiskSizeInMB,omitempty"` ResourceDiskSizeInMB *int32 `json:"resourceDiskSizeInMB,omitempty"` MemoryInMB *int32 `json:"memoryInMB,omitempty"` MaxDataDiskCount *int32 `json:"maxDataDiskCount,omitempty"` } // VirtualMachineSizeListResult is the List Virtual Machine operation response. type VirtualMachineSizeListResult struct { autorest.Response `json:"-"` Value *[]VirtualMachineSize `json:"value,omitempty"` } // VirtualMachineStatusCodeCount is the status code and count of the virtual // machine scale set instance view status summary. type VirtualMachineStatusCodeCount struct { Code *string `json:"code,omitempty"` Count *int32 `json:"count,omitempty"` } // WindowsConfiguration is describes Windows Configuration of the OS Profile. type WindowsConfiguration struct { ProvisionVMAgent *bool `json:"provisionVMAgent,omitempty"` EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"` TimeZone *string `json:"timeZone,omitempty"` AdditionalUnattendContent *[]AdditionalUnattendContent `json:"additionalUnattendContent,omitempty"` WinRM *WinRMConfiguration `json:"winRM,omitempty"` } // WinRMConfiguration is describes Windows Remote Management configuration of // the VM type WinRMConfiguration struct { Listeners *[]WinRMListener `json:"listeners,omitempty"` } // WinRMListener is describes Protocol and thumbprint of Windows Remote // Management listener type WinRMListener struct { Protocol ProtocolTypes `json:"protocol,omitempty"` CertificateURL *string `json:"certificateUrl,omitempty"` }