2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-27 15:26:37 +00:00
restic/vendor/github.com/Azure/azure-sdk-for-go/arm/compute/models.go
2017-08-06 21:47:04 +02:00

1343 lines
58 KiB
Go
Executable File

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"`
}