forked from TrueCloudLab/restic
1342 lines
58 KiB
Go
Executable file
1342 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"`
|
|
}
|