...

Package virtualmachine

import "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine"
Overview
Index

Overview ▾

Package virtualmachine provides a client for Virtual Machines.

Index ▾

Constants
type AddExtensionOptions
type AddExtensionRequest
type CaptureRoleOperation
type CertificateSetting
type ChangeDeploymentConfigurationRequest
type ChangeDeploymentConfigurationRequestOptions
type ConfigurationSet
type ConfigurationSetType
type CreateDeploymentFromPackageOptions
type CreateDeploymentOptions
type CreateDeploymentRequest
type Credentials
type CurrentUpgradeDomainState
type DNSServer
type DataDiskConfiguration
type DataVirtualHardDisk
type DeploymentRequest
type DeploymentResponse
type DeploymentSlot
type DeploymentStatus
type DomainJoin
type ExtendedProperty
type Extension
type ExtensionConfiguration
type ExtensionInfo
type ExtensionSettingState
type ExtensionSettingStatus
type Extensions
type FormattedMessage
type IPAddressType
type InputEndpoint
type InputEndpointProtocol
type InstanceEndpoint
type InstanceStatus
type KeyPair
type LoadBalancer
type NamedRole
type OSDiskConfiguration
type OSVirtualHardDisk
type PersistentVMDowntime
type PersistentVMRole
type PostCaptureAction
type PostShutdownAction
type PowerState
type PublicIP
type PublicKey
type ResourceExtension
type ResourceExtensionParameter
type ResourceExtensionParameterType
type ResourceExtensionReference
type ResourceExtensionState
type ResourceExtensionStatus
type ResourceExtensions
type RestartRoleOperation
type Role
type RoleInstance
type RoleSize
type RoleSizeList
type SSH
type ServiceCertificate
type ShutdownRoleOperation
type StartRoleOperation
type SubStatus
type SwapDeploymentRequest
type UpdateDeploymentStatusRequest
type UpgradeStatus
type UpgradeType
type VMImageInput
type VirtualIP
type VirtualMachineClient
    func NewClient(client management.Client) VirtualMachineClient
    func (c VirtualMachineClient) AddExtension(cloudServiceName string, options AddExtensionOptions) (management.OperationID, error)
    func (vm VirtualMachineClient) AddRole(cloudServiceName string, deploymentName string, role Role) (management.OperationID, error)
    func (vm VirtualMachineClient) CaptureRole(cloudServiceName, deploymentName, roleName, imageName, imageLabel string, reprovisioningConfigurationSet *ConfigurationSet) (management.OperationID, error)
    func (vm VirtualMachineClient) ChangeDeploymentConfiguration(cloudServiceName string, deploymentSlot DeploymentSlot, options ChangeDeploymentConfigurationRequestOptions) (management.OperationID, error)
    func (vm VirtualMachineClient) CreateDeployment(role Role, cloudServiceName string, options CreateDeploymentOptions) (management.OperationID, error)
    func (vm VirtualMachineClient) CreateDeploymentFromPackage(cloudServiceName string, deploymentSlot DeploymentSlot, options CreateDeploymentFromPackageOptions) (management.OperationID, error)
    func (vm VirtualMachineClient) DeleteDeployment(cloudServiceName, deploymentName string) (management.OperationID, error)
    func (vm VirtualMachineClient) DeleteDeploymentBySlot(cloudServiceName string, deploymentSlot DeploymentSlot) (management.OperationID, error)
    func (c VirtualMachineClient) DeleteExtension(cloudServiceName string, extensionID string) (management.OperationID, error)
    func (vm VirtualMachineClient) DeleteRole(cloudServiceName, deploymentName, roleName string, deleteVHD bool) (management.OperationID, error)
    func (vm VirtualMachineClient) GetDeployment(cloudServiceName, deploymentName string) (DeploymentResponse, error)
    func (vm VirtualMachineClient) GetDeploymentBySlot(cloudServiceName string, deploymentSlot DeploymentSlot) (DeploymentResponse, error)
    func (vm VirtualMachineClient) GetDeploymentName(cloudServiceName string) (string, error)
    func (vm VirtualMachineClient) GetDeploymentNameForSlot(cloudServiceName string, deploymentSlot DeploymentSlot) (string, error)
    func (c VirtualMachineClient) GetExtension(cloudServiceName string, extensionID string) (extension ExtensionInfo, err error)
    func (c VirtualMachineClient) GetResourceExtensions() (extensions []ResourceExtension, err error)
    func (vm VirtualMachineClient) GetRole(cloudServiceName, deploymentName, roleName string) (*Role, error)
    func (vm VirtualMachineClient) GetRoleSizeList() (RoleSizeList, error)
    func (c VirtualMachineClient) ListExtensions(cloudServiceName string) (extensions []ExtensionInfo, err error)
    func (vm VirtualMachineClient) RestartRole(cloudServiceName, deploymentName, roleName string) (management.OperationID, error)
    func (vm VirtualMachineClient) ShutdownRole(cloudServiceName, deploymentName, roleName string, postaction PostShutdownAction) (management.OperationID, error)
    func (vm VirtualMachineClient) StartRole(cloudServiceName, deploymentName, roleName string) (management.OperationID, error)
    func (vm VirtualMachineClient) SwapDeployment(cloudServiceName string) (management.OperationID, error)
    func (vm VirtualMachineClient) UpdateDeploymentStatus(cloudServiceName string, deploymentSlot DeploymentSlot, status string) (management.OperationID, error)
    func (vm VirtualMachineClient) UpdateDeploymentStatusByName(cloudServiceName string, deploymentName string, status string) (management.OperationID, error)
    func (vm VirtualMachineClient) UpdateRole(cloudServiceName, deploymentName, roleName string, role Role) (management.OperationID, error)
type WinRMListener
type WinRMProtocol

Package files

client.go entities.go resourceextensions.go

Constants

const (
    InstanceStatusUnknown            = "Unknown"
    InstanceStatusCreatingVM         = "CreatingVM"
    InstanceStatusStartingVM         = "StartingVM"
    InstanceStatusCreatingRole       = "CreatingRole"
    InstanceStatusStartingRole       = "StartingRole"
    InstanceStatusReadyRole          = "ReadyRole"
    InstanceStatusBusyRole           = "BusyRole"
    InstanceStatusStoppingRole       = "StoppingRole"
    InstanceStatusStoppingVM         = "StoppingVM"
    InstanceStatusDeletingVM         = "DeletingVM"
    InstanceStatusStoppedVM          = "StoppedVM"
    InstanceStatusRestartingRole     = "RestartingRole"
    InstanceStatusCyclingRole        = "CyclingRole"
    InstanceStatusFailedStartingRole = "FailedStartingRole"
    InstanceStatusFailedStartingVM   = "FailedStartingVM"
    InstanceStatusUnresponsiveRole   = "UnresponsiveRole"
    InstanceStatusStoppedDeallocated = "StoppedDeallocated"
    InstanceStatusPreparing          = "Preparing"
)

type AddExtensionOptions

AddExtensionOptions defines the options available for adding extensions to a cloud service

type AddExtensionOptions struct {
    ProviderNameSpace    string
    Type                 string
    ID                   string
    Thumbprint           string
    ThumbprintAlgorithm  string
    PublicConfiguration  string
    PrivateConfiguration string
    Version              string
}

type AddExtensionRequest

AddExtensionRequest is the type used to submit AddExtension requests

type AddExtensionRequest struct {
    XMLName              xml.Name `xml:"http://schemas.microsoft.com/windowsazure Extension"`
    ProviderNameSpace    string
    Type                 string
    ID                   string `xml:"Id"`
    Thumbprint           string
    ThumbprintAlgorithm  string
    PublicConfiguration  string
    PrivateConfiguration string
    Version              string
}

type CaptureRoleOperation

CaptureRoleOperation contains the information for capturing a Role

type CaptureRoleOperation struct {
    XMLName                   xml.Name `xml:"http://schemas.microsoft.com/windowsazure CaptureRoleOperation"`
    OperationType             string
    PostCaptureAction         PostCaptureAction
    ProvisioningConfiguration *ConfigurationSet `xml:",omitempty"`
    TargetImageLabel          string
    TargetImageName           string
}

type CertificateSetting

CertificateSetting specifies the parameters for the certificate which to provision to the new Virtual Machine.

type CertificateSetting struct {
    StoreLocation string // Required. Specifies the certificate store location on the Virtual Machine. The only supported value is "LocalMachine".
    StoreName     string // Required. Specifies the name of the certificate store from which the certificate is retrieved. For example, "My".
    Thumbprint    string // Required. Specifies the thumbprint of the certificate. The thumbprint must specify an existing service certificate.
}

type ChangeDeploymentConfigurationRequest

ChangeDeploymentConfigurationRequest is the type for changing the configuration of a deployment of a cloud service p https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-change-deployment-configuration

type ChangeDeploymentConfigurationRequest struct {
    XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure ChangeConfiguration"`
    // Required parameters:
    Configuration string `` // Specifies the base-64 encoded service configuration file for the deployment.
    // Optional parameters:
    Mode                   UpgradeType            ``                                  // Specifies the type of Upgrade (Auto | Manual | Simultaneous) .
    TreatWarningsAsError   bool                   ``                                  // Indicates whether to treat package validation warnings as errors. The default value is false. If set to true, the Created Deployment operation fails if there are validation warnings on the service package.
    ExtendedProperties     []ExtendedProperty     `xml:">ExtendedProperty,omitempty"` // Array of ExtendedProprties. Each extended property must have both a defined name and value. You can have a maximum of 25 extended property name and value pairs.
    ExtensionConfiguration ExtensionConfiguration `xml:",omitempty"`
}

type ChangeDeploymentConfigurationRequestOptions

ChangeDeploymentConfigurationRequestOptions can be used to update configuration of a deployment

type ChangeDeploymentConfigurationRequestOptions struct {
    Mode                   UpgradeType
    Configuration          string
    TreatWarningsAsError   bool
    ExtendedProperties     []ExtendedProperty
    ExtensionConfiguration ExtensionConfiguration
}

type ConfigurationSet

ConfigurationSet specifies the configuration elements of the Virtual Machine. The type attribute is required to prevent the administrator password from being written to the operation history file.

type ConfigurationSet struct {
    ConfigurationSetType ConfigurationSetType

    // Windows provisioning:
    ComputerName              string               `xml:",omitempty"`                          // Optional. Specifies the computer name for the Virtual Machine. If you do not specify a computer name, one is assigned that is a combination of the deployment name, role name, and identifying number. Computer names must be 1 to 15 characters long.
    AdminPassword             string               `xml:",omitempty"`                          // Optional. Specifies the password to use for an administrator account on the Virtual Machine that is being created. If you are creating a Virtual Machine using an image, you must specify a name of an administrator account to be created on the machine using the AdminUsername element. You must use the AdminPassword element to specify the password of the administrator account that is being created. If you are creating a Virtual Machine using an existing specialized disk, this element is not used because the account should already exist on the disk.
    EnableAutomaticUpdates    bool                 `xml:",omitempty"`                          // Optional. Specifies whether automatic updates are enabled for the Virtual Machine. The default value is true.
    TimeZone                  string               `xml:",omitempty"`                          // Optional. Specifies the time zone for the Virtual Machine.
    DomainJoin                *DomainJoin          `xml:",omitempty"`                          // Optional. Contains properties that define a domain to which the Virtual Machine will be joined.
    StoredCertificateSettings []CertificateSetting `xml:">StoredCertificateSetting,omitempty"` // Optional. Contains a list of service certificates with which to provision to the new Virtual Machine.
    WinRMListeners            *[]WinRMListener     `xml:"WinRM>Listeners>Listener,omitempty"`  // Optional. Contains configuration settings for the Windows Remote Management service on the Virtual Machine. This enables remote Windows PowerShell.
    AdminUsername             string               `xml:",omitempty"`                          // Optional. Specifies the name of the administrator account that is created to access the Virtual Machine. If you are creating a Virtual Machine using an image, you must specify a name of an administrator account to be created by using this element. You must use the AdminPassword element to specify the password of the administrator account that is being created. If you are creating a Virtual Machine using an existing specialized disk, this element is not used because the account should already exist on the disk.
    AdditionalUnattendContent string               `xml:",omitempty"`                          // Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.

    // Linux provisioning:
    HostName                         string `xml:",omitempty"`                                 // Required. Specifies the host name for the Virtual Machine. Host names must be 1 to 64 characters long.
    UserName                         string `xml:",omitempty"`                                 // Required. Specifies the name of a user account to be created in the sudoer group of the Virtual Machine. User account names must be 1 to 32 characters long.
    UserPassword                     string `xml:",omitempty"`                                 // Required. Specifies the password for the user account. Passwords must be 6 to 72 characters long.
    DisableSSHPasswordAuthentication string `xml:"DisableSshPasswordAuthentication,omitempty"` // Optional. Specifies whether SSH password authentication is disabled. By default this value is set to true.
    SSH                              *SSH   `xml:",omitempty"`                                 // Optional. Specifies the SSH public keys and key pairs to use with the Virtual Machine.

    // In WindowsProvisioningConfiguration: The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. The file is saved to %SYSTEMDRIVE%\AzureData\CustomData.bin. If the file exists, it is overwritten. The security on directory is set to System:Full Control and Administrators:Full Control.
    // In LinuxProvisioningConfiguration: The base-64 encoded string is located in the ovf-env.xml file on the ISO of the Virtual Machine. The file is copied to /var/lib/waagent/ovf-env.xml by the Azure Linux Agent. The Azure Linux Agent will also place the base-64 encoded data in /var/lib/waagent/CustomData during provisioning. The maximum length of the binary array is 65535 bytes.
    CustomData string `xml:",omitempty"` // Specifies a base-64 encoded string of custom data.

    // Network configuration:
    InputEndpoints                []InputEndpoint `xml:">InputEndpoint,omitempty"` // Optional in NetworkConfiguration. Contains a collection of external endpoints for the Virtual Machine.
    SubnetNames                   []string        `xml:">SubnetName,omitempty"`    // Required if StaticVirtualNetworkIPAddress is specified; otherwise, optional in NetworkConfiguration. Contains a list of subnets to which the Virtual Machine will belong.
    StaticVirtualNetworkIPAddress string          `xml:",omitempty"`               // Specifies the internal IP address for the Virtual Machine in a Virtual Network. If you specify this element, you must also specify the SubnetNames element with only one subnet defined. The IP address specified in this element must belong to the subnet that is defined in SubnetNames and it should not be the one of the first four IP addresses or the last IP address in the subnet. Deploying web roles or worker roles into a subnet that has Virtual Machines with StaticVirtualNetworkIPAddress defined is not supported.
    NetworkSecurityGroup          string          `xml:",omitempty"`               // Optional in NetworkConfiguration. Represents the name of the Network Security Group that will be associated with the Virtual Machine. Network Security Group must exist in the context of subscription and be created in same region to which the virtual machine will be deployed.
    PublicIPs                     []PublicIP      `xml:">PublicIP,omitempty"`      // Contains a public IP address that can be used in addition to the default virtual IP address for the Virtual Machine.
}

type ConfigurationSetType

type ConfigurationSetType string

Enum values for ConfigurationSetType

const (
    ConfigurationSetTypeWindowsProvisioning ConfigurationSetType = "WindowsProvisioningConfiguration"
    ConfigurationSetTypeLinuxProvisioning   ConfigurationSetType = "LinuxProvisioningConfiguration"
    ConfigurationSetTypeNetwork             ConfigurationSetType = "NetworkConfiguration"
)

type CreateDeploymentFromPackageOptions

CreateDeploymentFromPackageOptions can be used to create a customized deployement request

type CreateDeploymentFromPackageOptions struct {
    Name                   string
    PackageURL             string
    Label                  string
    Configuration          string
    StartDeployment        bool
    TreatWarningsAsError   bool
    ExtendedProperties     []ExtendedProperty
    ExtensionConfiguration ExtensionConfiguration
}

type CreateDeploymentOptions

CreateDeploymentOptions can be used to create a customized deployement request

type CreateDeploymentOptions struct {
    DNSServers         []DNSServer
    LoadBalancers      []LoadBalancer
    ReservedIPName     string
    VirtualNetworkName string
}

type CreateDeploymentRequest

CreateDeploymentRequest is the type for creating a deployment of a cloud service package in the deployment based on the specified configuration. See https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-create-deployment

type CreateDeploymentRequest struct {
    XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure CreateDeployment"`
    // Required parameters:
    Name          string ``                 // Specifies the name of the deployment.
    PackageURL    string `xml:"PackageUrl"` // Specifies a URL that refers to the location of the service package in the Blob service. The service package can be located either in a storage account beneath the same subscription or a Shared Access Signature (SAS) URI from any storage account.
    Label         string ``                 // Specifies an identifier for the deployment that is base-64 encoded. The identifier can be up to 100 characters in length. It is recommended that the label be unique within the subscription. The label can be used for your tracking purposes.
    Configuration string ``                 // Specifies the base-64 encoded service configuration file for the deployment.
    // Optional parameters:
    StartDeployment        bool                   ``                                  // Indicates whether to start the deployment immediately after it is created. The default value is false
    TreatWarningsAsError   bool                   ``                                  // Indicates whether to treat package validation warnings as errors. The default value is false. If set to true, the Created Deployment operation fails if there are validation warnings on the service package.
    ExtendedProperties     []ExtendedProperty     `xml:">ExtendedProperty,omitempty"` // Array of ExtendedProprties. Each extended property must have both a defined name and value. You can have a maximum of 25 extended property name and value pairs.
    ExtensionConfiguration ExtensionConfiguration `xml:",omitempty"`
}

type Credentials

Credentials specifies the credentials to use to join the Virtual Machine to the domain. If Domain is not specified, Username must specify the user principal name (UPN) format (user@fully-qualified-DNS-domain) or the fully- qualified-DNS-domain\username format.

type Credentials struct {
    Domain   string // Specifies the name of the domain used to authenticate an account. The value is a fully qualified DNS domain.
    Username string // Specifies a user name in the domain that can be used to join the domain.
    Password string // Specifies the password to use to join the domain.
}

type CurrentUpgradeDomainState

type CurrentUpgradeDomainState string
const (
    CurrentUpgradeDomainStateBefore CurrentUpgradeDomainState = "Before"
    CurrentUpgradeDomainStateDuring CurrentUpgradeDomainState = "During"
)

type DNSServer

DNSServer contains the definition of a DNS server for virtual machine deployment

type DNSServer struct {
    Name    string
    Address string
}

type DataDiskConfiguration

DataDiskConfiguration is used to resize the data disks of a new VM created from a previously saved VM image.

type DataDiskConfiguration struct {
    OSDiskConfiguration
    Name string // The Name of the DataDiskConfiguration being referenced to.

}

type DataVirtualHardDisk

DataVirtualHardDisk specifies the properties that are used to create a data disk.

type DataVirtualHardDisk struct {
    HostCaching         vmdisk.HostCachingType `xml:",omitempty"` // Specifies the caching mode of the data disk. The default value is None.
    DiskLabel           string                 `xml:",omitempty"` // If the disk that is being added is already registered in the subscription, this element is ignored. If a new disk is being created, this element is used to provide a description of the disk. The value of this element is only obtained programmatically and does not appear in the Management Portal.
    DiskName            string                 `xml:",omitempty"` // If the disk that is being added is already registered in the subscription, this element is used to identify the disk to add. If a new disk and the associated VHD are being created by Azure, this element is not used and Azure assigns a unique name that is a combination of the deployment name, role name, and identifying number. The name of the disk must contain only alphanumeric characters, underscores, periods, or dashes. The name must not be longer than 256 characters. The name must not end with period or dash.
    Lun                 int                    `xml:",omitempty"` // Specifies the Logical Unit Number (LUN) for the data disk. If the disk is the first disk that is added, this element is optional and the default value of 0 is used. If more than one disk is being added, this element is required. Valid LUN values are 0 through 31.
    LogicalDiskSizeInGB int                    `xml:",omitempty"` // Specifies the size, in GB, of an empty disk to be attached to the Virtual Machine. If the disk that is being added is already registered in the subscription, this element is ignored. If the disk and VHD is being created by Azure as it is added, this element defines the size of the new disk.
    MediaLink           string                 `xml:",omitempty"` // If the disk that is being added is already registered in the subscription or the VHD for the disk already exists in blob storage, this element is ignored. If a VHD file does not exist in blob storage, this element defines the location of the new VHD that is created when the new disk is added.
    SourceMediaLink     string                 `xml:",omitempty"` // If the disk that is being added is already registered in the subscription or the VHD for the disk does not exist in blob storage, this element is ignored. If the VHD file exists in blob storage, this element defines the path to the VHD and a disk is registered from it and attached to the virtual machine.
}

type DeploymentRequest

DeploymentRequest is the type for creating a deployment and Virtual Machine in the deployment based on the specified configuration. See https://msdn.microsoft.com/en-us/library/azure/jj157194.aspx

type DeploymentRequest struct {
    XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Deployment"`
    // Required parameters:
    Name           string ``            // Specifies a name for the deployment. The deployment name must be unique among other deployments for the cloud service.
    DeploymentSlot string ``            // Specifies the environment in which the Virtual Machine is to be deployed. The only allowable value is Production.
    Label          string ``            // Specifies an identifier for the deployment. The label can be up to 100 characters long. The label can be used for tracking purposes.
    RoleList       []Role `xml:">Role"` // Contains information about the Virtual Machines that are to be deployed.
    // Optional parameters:
    VirtualNetworkName string         `xml:",omitempty"`                         // Specifies the name of an existing virtual network to which the deployment will belong.
    DNSServers         []DNSServer    `xml:"Dns>DnsServers>DnsServer,omitempty"` // Contains a list of DNS servers to associate with the Virtual Machine.
    LoadBalancers      []LoadBalancer `xml:">LoadBalancer,omitempty"`            // Contains a list of internal load balancers that can be assigned to input endpoints.
    ReservedIPName     string         `xml:",omitempty"`                         // Specifies the name of a reserved IP address that is to be assigned to the deployment.
}

type DeploymentResponse

DeploymentResponse is the type for receiving deployment information See https://msdn.microsoft.com/en-us/library/azure/ee460804.aspx

type DeploymentResponse struct {
    XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Deployment"`

    Name                   string
    DeploymentSlot         string
    PrivateID              string
    Status                 DeploymentStatus
    Label                  string
    URL                    string `xml:"Url"`
    Configuration          string
    RoleInstanceList       []RoleInstance `xml:">RoleInstance"`
    UpgradeStatus          UpgradeStatus
    UpgradeDomainCount     int
    RoleList               []Role `xml:">Role"`
    SdkVersion             string
    Locked                 bool
    RollbackAllowed        bool
    CreatedTime            string
    LastModifiedTime       string
    VirtualNetworkName     string
    DNSServers             []DNSServer        `xml:"Dns>DnsServers>DnsServer"`
    LoadBalancers          []LoadBalancer     `xml:">LoadBalancer"`
    ExtendedProperties     []ExtendedProperty `xml:">ExtendedProperty"`
    PersistentVMDowntime   PersistentVMDowntime
    VirtualIPs             []VirtualIP `xml:">VirtualIP"`
    ExtensionConfiguration ExtensionConfiguration
    ReservedIPName         string
    InternalDNSSuffix      string `xml:"InternalDnsSuffix"`
}

type DeploymentSlot

DeploymentSlot for cloud services are either Production or Staging Slots

type DeploymentSlot string
const (
    // DeploymentSlotProduction represents the Production slot of a cloud service
    DeploymentSlotProduction DeploymentSlot = "Production"
    // DeploymentSlotStaging represents the Staging slot of a cloud service
    DeploymentSlotStaging DeploymentSlot = "Staging"
)

type DeploymentStatus

type DeploymentStatus string
const (
    DeploymentStatusRunning                DeploymentStatus = "Running"
    DeploymentStatusSuspended              DeploymentStatus = "Suspended"
    DeploymentStatusRunningTransitioning   DeploymentStatus = "RunningTransitioning"
    DeploymentStatusSuspendedTransitioning DeploymentStatus = "SuspendedTransitioning"
    DeploymentStatusStarting               DeploymentStatus = "Starting"
    DeploymentStatusSuspending             DeploymentStatus = "Suspending"
    DeploymentStatusDeploying              DeploymentStatus = "Deploying"
    DeploymentStatusDeleting               DeploymentStatus = "Deleting"
)

type DomainJoin

DomainJoin contains properties that define a domain to which the Virtual Machine will be joined.

type DomainJoin struct {
    Credentials     Credentials `xml:",omitempty"` // Specifies the credentials to use to join the Virtual Machine to the domain.
    JoinDomain      string      `xml:",omitempty"` // Specifies the domain to join.
    MachineObjectOU string      `xml:",omitempty"` // Specifies the Lightweight Directory Access Protocol (LDAP) X 500-distinguished name of the organizational unit (OU) in which the computer account is created. This account is in Active Directory on a domain controller in the domain to which the computer is being joined.
}

type ExtendedProperty

type ExtendedProperty struct {
    Name  string
    Value string
}

type Extension

Extension Specifies an extension that is to be deployed to a role in a cloud service. https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-deployment#bk_extension

type Extension struct {
    ID    string `xml:"Id"`
    State string
}

type ExtensionConfiguration

ExtensionConfiguration Contains extensions that are added to the cloud service. https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-deployment#bk_extensionconfig

type ExtensionConfiguration struct {
    NamedRoles []NamedRole `xml:"NamedRoles>Role,omitempty"`
}

type ExtensionInfo

ExtensionInfo defined the type retured by GetExtension https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-extension

type ExtensionInfo struct {
    XMLName                     xml.Name `xml:"http://schemas.microsoft.com/windowsazure Extension"`
    ProviderNameSpace           string
    Type                        string
    ID                          string `xml:"Id"`
    Version                     string
    Thumbprint                  string
    PublicConfigurationSchema   string
    ThumbprintAlgorithm         string
    IsJSONExtension             bool `xml:"IsJsonExtension"`
    DisallowMajorVersionUpgrade bool
}

type ExtensionSettingState

type ExtensionSettingState string
const (
    ExtensionSettingStateTransitioning ExtensionSettingState = "transitioning"
    ExtensionSettingStateError         ExtensionSettingState = "error"
    ExtensionSettingStateSuccess       ExtensionSettingState = "success"
    ExtensionSettingStateWarning       ExtensionSettingState = "warning"
)

type ExtensionSettingStatus

type ExtensionSettingStatus struct {
    Timestamp        string
    Name             string
    Operation        string
    Status           ExtensionSettingState
    Code             string
    FormattedMessage FormattedMessage
    SubStatusList    []SubStatus `xml:">SubStatus"`
}

type Extensions

Extensions is a list of extensions returned by the ListExtensions response

type Extensions struct {
    XMLName    xml.Name        `xml:"http://schemas.microsoft.com/windowsazure Extensions"`
    Extensions []ExtensionInfo `xml:"Extension"`
}

type FormattedMessage

type FormattedMessage struct {
    Language string
    Message  string
}

type IPAddressType

type IPAddressType string

Enum values for IPAddressType

const (
    IPAddressTypePrivate IPAddressType = "Private" // Only allowed value (currently) for IPAddressType
)

type InputEndpoint

InputEndpoint specifies the properties that define an external endpoint for the Virtual Machine.

type InputEndpoint struct {
    LocalPort int                   // Specifies the internal port on which the Virtual Machine is listening.
    Name      string                // Specifies the name of the external endpoint.
    Port      int                   // Specifies the external port to use for the endpoint.
    Protocol  InputEndpointProtocol //Specifies the transport protocol for the endpoint.
    Vip       string                `xml:",omitempty"`
}

type InputEndpointProtocol

type InputEndpointProtocol string

Enum values for InputEndpointProtocol

const (
    InputEndpointProtocolTCP InputEndpointProtocol = "TCP"
    InputEndpointProtocolUDP InputEndpointProtocol = "UDP"
)

type InstanceEndpoint

type InstanceEndpoint struct {
    Name       string
    Vip        string
    PublicPort int
    LocalPort  int
    Protocol   InputEndpointProtocol
}

type InstanceStatus

type InstanceStatus string

type KeyPair

KeyPair specifies an SSH keypair.

type KeyPair struct {
    Fingerprint string // Specifies the SHA1 fingerprint of an X509 certificate that is associated with the cloud service and includes the SSH keypair.
    // Specifies the full path of a file, on the virtual machine, which stores the SSH private key. The
    // file is overwritten when multiple keys are written to it. The SSH public key is stored in the same
    // directory and has the same name as the private key file with .pub suffix.
    Path string // Usually /home/username/.ssh/id_rsa
}

type LoadBalancer

LoadBalancer contains the definition of a load balancer for virtual machine deployment

type LoadBalancer struct {
    Name                          string        // Specifies the name of the internal load balancer.
    Type                          IPAddressType `xml:"FrontendIpConfiguration>Type"`                                    // Specifies the type of virtual IP address that is provided by the load balancer. The only allowable value is Private.
    SubnetName                    string        `xml:"FrontendIpConfiguration>SubnetName,omitempty"`                    // Required if the deployment exists in a virtual network and a StaticVirtualNetworkIPAddress is assigned. Specifies the subnet of the virtual network that the load balancer uses. The virtual IP address that is managed by the load balancer is contained in this subnet.
    StaticVirtualNetworkIPAddress string        `xml:"FrontendIpConfiguration>StaticVirtualNetworkIPAddress,omitempty"` // Specifies a specific virtual IP address that the load balancer uses from the subnet in the virtual network.
}

type NamedRole

NamedRole specifies a list of extensions that are applied to specific roles in a deployment. https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-deployment#bk_namedroles

type NamedRole struct {
    RoleName   string      `xml:",omitempty"`
    Extensions []Extension `xml:"Extensions>Extension,omitempty"`
}

type OSDiskConfiguration

OSDiskConfiguration is used to resize the OS disk of a new VM created from a previously saved VM image.

type OSDiskConfiguration struct {
    ResizedSizeInGB int
}

type OSVirtualHardDisk

OSVirtualHardDisk specifies the properties that are used to create an OS disk.

type OSVirtualHardDisk struct {
    HostCaching           vmdisk.HostCachingType `xml:",omitempty"` // Specifies the caching mode of the data disk. The default value is None.
    DiskLabel             string                 `xml:",omitempty"` // If the disk that is being added is already registered in the subscription, this element is ignored. If a new disk is being created, this element is used to provide a description of the disk. The value of this element is only obtained programmatically and does not appear in the Management Portal.
    DiskName              string                 `xml:",omitempty"` // If the disk that is being added is already registered in the subscription, this element is used to identify the disk to add. If a new disk and the associated VHD are being created by Azure, this element is not used and Azure assigns a unique name that is a combination of the deployment name, role name, and identifying number. The name of the disk must contain only alphanumeric characters, underscores, periods, or dashes. The name must not be longer than 256 characters. The name must not end with period or dash.
    MediaLink             string                 `xml:",omitempty"` // If the disk that is being added is already registered in the subscription or the VHD for the disk already exists in blob storage, this element is ignored. If a VHD file does not exist in blob storage, this element defines the location of the new VHD that is created when the new disk is added.
    SourceImageName       string                 `xml:",omitempty"`
    OS                    string                 `xml:",omitempty"`
    RemoteSourceImageLink string                 `xml:",omitempty"` // Specifies a publicly accessible URI or a SAS URI to the location where an OS image is stored that is used to create the Virtual Machine. This location can be a different location than the user or platform image repositories in Azure. An image is always associated with a VHD, which is a .vhd file stored as a page blob in a storage account in Azure. If you specify the path to an image with this element, an associated VHD is created and you must use the MediaLink element to specify the location in storage where the VHD will be located. If this element is used, SourceImageName is not used.
    ResizedSizeInGB       int                    `xml:",omitempty"`
}

type PersistentVMDowntime

type PersistentVMDowntime struct {
    StartTime string
    EndTime   string
    Status    string
}

type PersistentVMRole

type PersistentVMRole struct {
    XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure PersistentVMRole"`
    Role
}

type PostCaptureAction

type PostCaptureAction string

Enum values for PostCaptureAction

const (
    PostCaptureActionDelete      PostCaptureAction = "Delete"
    PostCaptureActionReprovision PostCaptureAction = "Reprovision"
)

type PostShutdownAction

type PostShutdownAction string

Enum values for PostShutdownAction

const (
    PostShutdownActionStopped            PostShutdownAction = "Stopped"
    PostShutdownActionStoppedDeallocated PostShutdownAction = "StoppedDeallocated"
)

type PowerState

type PowerState string
const (
    PowerStateStarting PowerState = "Starting"
    PowerStateStarted  PowerState = "Started"
    PowerStateStopping PowerState = "Stopping"
    PowerStateStopped  PowerState = "Stopped"
    PowerStateUnknown  PowerState = "Unknown"
)

type PublicIP

PublicIP contains a public IP address that can be used in addition to default virtual IP address for the Virtual Machine.

type PublicIP struct {
    Name                 string // Specifies the name of the public IP address.
    Address              string // Specifies the IP address.
    IdleTimeoutInMinutes int    `xml:",omitempty"` // Specifies the timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP.
}

type PublicKey

PublicKey specifies a public SSH key.

type PublicKey struct {
    Fingerprint string // Specifies the SHA1 fingerprint of an X509 certificate associated with the cloud service and includes the SSH public key.
    // Specifies the full path of a file, on the Virtual Machine, where the SSH public key is stored. If
    // the file already exists, the specified key is appended to the file.
    Path string // Usually /home/username/.ssh/authorized_keys
}

type ResourceExtension

type ResourceExtension struct {
    Publisher                   string
    Name                        string
    Version                     string
    Label                       string
    Description                 string
    PublicConfigurationSchema   string
    PrivateConfigurationSchema  string
    SampleConfig                string
    ReplicationCompleted        string
    Eula                        string
    PrivacyURI                  string `xml:"PrivacyUri"`
    HomepageURI                 string `xml:"HomepageUri"`
    IsJSONExtension             bool   `xml:"IsJsonExtension"`
    IsInternalExtension         bool
    DisallowMajorVersionUpgrade bool
    CompanyName                 string
    SupportedOS                 string
    PublishedDate               string
}

type ResourceExtensionParameter

ResourceExtensionParameter specifies the key, value, and type of a parameter that is passed to the resource extension when it is installed.

type ResourceExtensionParameter struct {
    Key   string
    Value string
    Type  ResourceExtensionParameterType // If this value is set to Private, the parameter will not be returned by Get Deployment ().
}

type ResourceExtensionParameterType

type ResourceExtensionParameterType string

Enum values for ResourceExtensionParameterType

const (
    ResourceExtensionParameterTypePublic  ResourceExtensionParameterType = "Public"
    ResourceExtensionParameterTypePrivate ResourceExtensionParameterType = "Private"
)

type ResourceExtensionReference

ResourceExtensionReference contains a collection of resource extensions that are to be installed on the Virtual Machine. The VM Agent must be installed on the Virtual Machine to install resource extensions. For more information, see Manage Extensions:

https://msdn.microsoft.com/en-us/library/dn606311.aspx.

type ResourceExtensionReference struct {
    ReferenceName   string
    Publisher       string
    Name            string
    Version         string
    ParameterValues []ResourceExtensionParameter `xml:"ResourceExtensionParameterValues>ResourceExtensionParameterValue,omitempty"`
    State           string
}

type ResourceExtensionState

type ResourceExtensionState string
const (
    ResourceExtensionStateInstalling   ResourceExtensionState = "Installing"
    ResourceExtensionStateReady        ResourceExtensionState = "Ready"
    ResourceExtensionStateNotReady     ResourceExtensionState = "NotReady"
    ResourceExtensionStateUnresponsive ResourceExtensionState = "Unresponsive"
)

type ResourceExtensionStatus

type ResourceExtensionStatus struct {
    HandlerName            string
    Version                string
    Status                 ResourceExtensionState
    Code                   string
    FormattedMessage       FormattedMessage
    ExtensionSettingStatus ExtensionSettingStatus
}

type ResourceExtensions

type ResourceExtensions struct {
    List []ResourceExtension `xml:"ResourceExtension"`
}

type RestartRoleOperation

RestartRoleOperation contains the information for restarting a Role.

type RestartRoleOperation struct {
    XMLName       xml.Name `xml:"http://schemas.microsoft.com/windowsazure RestartRoleOperation"`
    OperationType string
}

type Role

Role contains the configuration sets that are used to create virtual machines.

type Role struct {
    RoleName                    string                        `xml:",omitempty"` // Specifies the name for the Virtual Machine.
    RoleType                    string                        `xml:",omitempty"` // Specifies the type of role to use. For Virtual Machines, this must be PersistentVMRole.
    ConfigurationSets           []ConfigurationSet            `xml:"ConfigurationSets>ConfigurationSet,omitempty"`
    ResourceExtensionReferences *[]ResourceExtensionReference `xml:"ResourceExtensionReferences>ResourceExtensionReference,omitempty"`
    VMImageName                 string                        `xml:",omitempty"`                                         // Specifies the name of the VM Image that is to be used to create the Virtual Machine. If this element is used, the ConfigurationSets element is not used.
    MediaLocation               string                        `xml:",omitempty"`                                         // Required if the Virtual Machine is being created from a published VM Image. Specifies the location of the VHD file that is created when VMImageName specifies a published VM Image.
    AvailabilitySetName         string                        `xml:",omitempty"`                                         // Specifies the name of a collection of Virtual Machines. Virtual Machines specified in the same availability set are allocated to different nodes to maximize availability.
    DataVirtualHardDisks        []DataVirtualHardDisk         `xml:"DataVirtualHardDisks>DataVirtualHardDisk,omitempty"` // Contains the parameters that are used to add a data disk to a Virtual Machine. If you are creating a Virtual Machine by using a VM Image, this element is not used.
    OSVirtualHardDisk           *OSVirtualHardDisk            `xml:",omitempty"`                                         // Contains the parameters that are used to create the operating system disk for a Virtual Machine. If you are creating a Virtual Machine by using a VM Image, this element is not used.
    RoleSize                    string                        `xml:",omitempty"`                                         // Specifies the size of the Virtual Machine. The default size is Small.
    ProvisionGuestAgent         bool                          `xml:",omitempty"`                                         // Indicates whether the VM Agent is installed on the Virtual Machine. To run a resource extension in a Virtual Machine, this service must be installed.
    VMImageInput                *VMImageInput                 `xml:",omitempty"`                                         // When a VM Image is used to create a new PersistentVMRole, the DiskConfigurations in the VM Image are used to create new Disks for the new VM. This parameter can be used to resize the newly created Disks to a larger size than the underlying DiskConfigurations in the VM Image.

    UseCertAuth bool   `xml:"-"`
    CertPath    string `xml:"-"`
}

type RoleInstance

type RoleInstance struct {
    RoleName                          string
    InstanceName                      string
    InstanceStatus                    InstanceStatus
    ExtendedInstanceStatus            string
    InstanceUpgradeDomain             int
    InstanceFaultDomain               int
    InstanceSize                      string
    InstanceStateDetails              string
    InstanceErrorCode                 string
    IPAddress                         string             `xml:"IpAddress"`
    InstanceEndpoints                 []InstanceEndpoint `xml:">InstanceEndpoint"`
    PowerState                        PowerState
    HostName                          string
    RemoteAccessCertificateThumbprint string
    GuestAgentStatus                  string                    // todo: implement
    ResourceExtensionStatusList       []ResourceExtensionStatus `xml:">ResourceExtensionStatus"`
    PublicIPs                         []PublicIP                `xml:">PublicIP"`
}

type RoleSize

RoleSize contains a detailed explanation of a role size

type RoleSize struct {
    Name                               string
    Label                              string
    Cores                              int
    MemoryInMb                         int
    SupportedByWebWorkerRoles          bool
    SupportedByVirtualMachines         bool
    MaxDataDiskCount                   int
    WebWorkerResourceDiskSizeInMb      int
    VirtualMachineResourceDiskSizeInMb int
}

type RoleSizeList

RoleSizeList contains a list of the available role sizes

type RoleSizeList struct {
    XMLName   xml.Name   `xml:"RoleSizes"`
    RoleSizes []RoleSize `xml:"RoleSize"`
}

type SSH

SSH specifies the SSH public keys and key pairs to use with the Virtual Machine.

type SSH struct {
    PublicKeys []PublicKey `xml:">PublicKey"`
    KeyPairs   []KeyPair   `xml:">KeyPair"`
}

type ServiceCertificate

ServiceCertificate contains a certificate for adding it to a hosted service

type ServiceCertificate struct {
    XMLName           xml.Name `xml:"CertificateFile"`
    Data              string
    CertificateFormat string
    Password          string `xml:",omitempty"`
}

type ShutdownRoleOperation

ShutdownRoleOperation contains the information for shutting down a Role.

type ShutdownRoleOperation struct {
    XMLName            xml.Name `xml:"http://schemas.microsoft.com/windowsazure ShutdownRoleOperation"`
    OperationType      string
    PostShutdownAction PostShutdownAction
}

type StartRoleOperation

StartRoleOperation contains the information for starting a Role.

type StartRoleOperation struct {
    XMLName       xml.Name `xml:"http://schemas.microsoft.com/windowsazure StartRoleOperation"`
    OperationType string
}

type SubStatus

type SubStatus struct {
    Name             string
    Status           ExtensionSettingState
    FormattedMessage FormattedMessage
}

type SwapDeploymentRequest

SwapDeploymentRequest is the type used for specifying information to swap the deployments in a cloud service https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-swap-deployment

type SwapDeploymentRequest struct {
    XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Swap"`
    // Required parameters:
    Production       string
    SourceDeployment string
}

type UpdateDeploymentStatusRequest

UpdateDeploymentStatusRequest is the type used to make UpdateDeploymentStatus requests

type UpdateDeploymentStatusRequest struct {
    XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure UpdateDeploymentStatus"`
    // Required parameters:
    Status string
}

type UpgradeStatus

type UpgradeStatus struct {
    UpgradeType               UpgradeType
    CurrentUpgradeDomainState CurrentUpgradeDomainState
    CurrentUpgradeDomain      int
}

type UpgradeType

type UpgradeType string
const (
    UpgradeTypeAuto         UpgradeType = "Auto"
    UpgradeTypeManual       UpgradeType = "Manual"
    UpgradeTypeSimultaneous UpgradeType = "Simultaneous"
)

type VMImageInput

VMImageInput is for when a VM Image is used to create a new PersistantVMRole, the DiskConfigurations in the VM Image are used to create new Disks for the new VM. This parameter can be used to resize the newly created Disks to a larger size than the underlying DiskConfigurations in the VM Image.

type VMImageInput struct {
    OSDiskConfiguration    *OSDiskConfiguration    `xml:",omitempty"`                       // This corresponds to the OSDiskConfiguration of the VM Image used to create a new role. The OSDiskConfiguration element is only available using version 2014-10-01 or higher.
    DataDiskConfigurations []DataDiskConfiguration `xml:">DataDiskConfiguration,omitempty"` // This corresponds to the DataDiskConfigurations of the VM Image used to create a new role. The DataDiskConfigurations element is only available using version 2014-10-01 or higher.
}

type VirtualIP

type VirtualIP struct {
    Address        string
    IsReserved     bool
    ReservedIPName string
    Type           IPAddressType
}

type VirtualMachineClient

VirtualMachineClient is used to perform operations on Azure Virtual Machines

type VirtualMachineClient struct {
    // contains filtered or unexported fields
}

func NewClient

func NewClient(client management.Client) VirtualMachineClient

NewClient is used to instantiate a new VirtualMachineClient from an Azure client

func (VirtualMachineClient) AddExtension

func (c VirtualMachineClient) AddExtension(cloudServiceName string, options AddExtensionOptions) (management.OperationID, error)

AddExtension addes an extension to the cloud service https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-add-extension

func (VirtualMachineClient) AddRole

func (vm VirtualMachineClient) AddRole(cloudServiceName string, deploymentName string, role Role) (management.OperationID, error)

AddRole adds a Virtual Machine to a deployment of Virtual Machines, where role name = VM name See https://msdn.microsoft.com/en-us/library/azure/jj157186.aspx

func (VirtualMachineClient) CaptureRole

func (vm VirtualMachineClient) CaptureRole(cloudServiceName, deploymentName, roleName, imageName, imageLabel string,
    reprovisioningConfigurationSet *ConfigurationSet) (management.OperationID, error)

CaptureRole captures a VM role. If reprovisioningConfigurationSet is non-nil, the VM role is redeployed after capturing the image, otherwise, the original VM role is deleted.

NOTE: an image resulting from this operation shows up in osimage.GetImageList() as images with Category "User".

func (VirtualMachineClient) ChangeDeploymentConfiguration

func (vm VirtualMachineClient) ChangeDeploymentConfiguration(
    cloudServiceName string,
    deploymentSlot DeploymentSlot,
    options ChangeDeploymentConfigurationRequestOptions) (management.OperationID, error)

ChangeDeploymentConfiguration updates the configuration for a deployment from a configuration file (.cscfg)

func (VirtualMachineClient) CreateDeployment

func (vm VirtualMachineClient) CreateDeployment(
    role Role,
    cloudServiceName string,
    options CreateDeploymentOptions) (management.OperationID, error)

CreateDeployment creates a deployment and then creates a virtual machine in the deployment based on the specified configuration.

https://msdn.microsoft.com/en-us/library/azure/jj157194.aspx

func (VirtualMachineClient) CreateDeploymentFromPackage

func (vm VirtualMachineClient) CreateDeploymentFromPackage(
    cloudServiceName string,
    deploymentSlot DeploymentSlot,
    options CreateDeploymentFromPackageOptions) (management.OperationID, error)

CreateDeploymentFromPackage creates a deployment from a cloud services package (.cspkg) and configuration file (.cscfg)

func (VirtualMachineClient) DeleteDeployment

func (vm VirtualMachineClient) DeleteDeployment(cloudServiceName, deploymentName string) (management.OperationID, error)

func (VirtualMachineClient) DeleteDeploymentBySlot

func (vm VirtualMachineClient) DeleteDeploymentBySlot(cloudServiceName string, deploymentSlot DeploymentSlot) (management.OperationID, error)

func (VirtualMachineClient) DeleteExtension

func (c VirtualMachineClient) DeleteExtension(cloudServiceName string, extensionID string) (management.OperationID, error)

DeleteExtension deletes the specified extension from a cloud service. https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-delete-extension

func (VirtualMachineClient) DeleteRole

func (vm VirtualMachineClient) DeleteRole(cloudServiceName, deploymentName, roleName string, deleteVHD bool) (management.OperationID, error)

func (VirtualMachineClient) GetDeployment

func (vm VirtualMachineClient) GetDeployment(cloudServiceName, deploymentName string) (DeploymentResponse, error)

func (VirtualMachineClient) GetDeploymentBySlot

func (vm VirtualMachineClient) GetDeploymentBySlot(cloudServiceName string, deploymentSlot DeploymentSlot) (DeploymentResponse, error)

GetDeploymentBySlot used to retrieve deployment events for a single deployment slot (staging or production)

func (VirtualMachineClient) GetDeploymentName

func (vm VirtualMachineClient) GetDeploymentName(cloudServiceName string) (string, error)

GetDeploymentName queries an existing Azure cloud service for the name of the Deployment, if any, in its 'Production' slot (the only slot possible). If none exists, it returns empty string but no error

https://msdn.microsoft.com/en-us/library/azure/ee460804.aspx

func (VirtualMachineClient) GetDeploymentNameForSlot

func (vm VirtualMachineClient) GetDeploymentNameForSlot(cloudServiceName string, deploymentSlot DeploymentSlot) (string, error)

GetDeploymentNameForSlot queries an existing Azure cloud service for the name of the Deployment, in a given slot. If none exists, it returns empty string but no error

https://msdn.microsoft.com/en-us/library/azure/ee460804.aspx

func (VirtualMachineClient) GetExtension

func (c VirtualMachineClient) GetExtension(cloudServiceName string, extensionID string) (extension ExtensionInfo, err error)

GetExtension retrieves information about a specified extension that was added to a cloud service. https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-extension

func (VirtualMachineClient) GetResourceExtensions

func (c VirtualMachineClient) GetResourceExtensions() (extensions []ResourceExtension, err error)

GetResourceExtensions lists the resource extensions that are available to add to a virtual machine.

See https://msdn.microsoft.com/en-us/library/azure/dn495441.aspx

func (VirtualMachineClient) GetRole

func (vm VirtualMachineClient) GetRole(cloudServiceName, deploymentName, roleName string) (*Role, error)

func (VirtualMachineClient) GetRoleSizeList

func (vm VirtualMachineClient) GetRoleSizeList() (RoleSizeList, error)

func (VirtualMachineClient) ListExtensions

func (c VirtualMachineClient) ListExtensions(cloudServiceName string) (extensions []ExtensionInfo, err error)

ListExtensions lists all of the extensions that were added to a cloud service. https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-list-extensions

func (VirtualMachineClient) RestartRole

func (vm VirtualMachineClient) RestartRole(cloudServiceName, deploymentName, roleName string) (management.OperationID, error)

func (VirtualMachineClient) ShutdownRole

func (vm VirtualMachineClient) ShutdownRole(cloudServiceName, deploymentName, roleName string, postaction PostShutdownAction) (management.OperationID, error)

func (VirtualMachineClient) StartRole

func (vm VirtualMachineClient) StartRole(cloudServiceName, deploymentName, roleName string) (management.OperationID, error)

func (VirtualMachineClient) SwapDeployment

func (vm VirtualMachineClient) SwapDeployment(
    cloudServiceName string) (management.OperationID, error)

SwapDeployment initiates a virtual IP address swap between the staging and production deployment environments for a service. If the service is currently running in the staging environment, it will be swapped to the production environment. If it is running in the production environment, it will be swapped to staging.

func (VirtualMachineClient) UpdateDeploymentStatus

func (vm VirtualMachineClient) UpdateDeploymentStatus(
    cloudServiceName string,
    deploymentSlot DeploymentSlot,
    status string) (management.OperationID, error)

UpdateDeploymentStatus changes the running status of a deployment. The status of a deployment can be running or suspended. https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-update-deployment-status

func (VirtualMachineClient) UpdateDeploymentStatusByName

func (vm VirtualMachineClient) UpdateDeploymentStatusByName(
    cloudServiceName string,
    deploymentName string,
    status string) (management.OperationID, error)

UpdateDeploymentStatusByName changes the running status of a deployment. The status of a deployment can be running or suspended. https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-update-deployment-status

func (VirtualMachineClient) UpdateRole

func (vm VirtualMachineClient) UpdateRole(cloudServiceName, deploymentName, roleName string, role Role) (management.OperationID, error)

UpdateRole updates the configuration of the specified virtual machine See https://msdn.microsoft.com/en-us/library/azure/jj157187.aspx

type WinRMListener

WinRMListener specifies the protocol and certificate information for a WinRM listener.

type WinRMListener struct {
    Protocol              WinRMProtocol // Specifies the protocol of listener.
    CertificateThumbprint string        `xml:",omitempty"` // Specifies the certificate thumbprint for the secure connection. If this value is not specified, a self-signed certificate is generated and used for the Virtual Machine.
}

type WinRMProtocol

type WinRMProtocol string

Enum values for WinRMProtocol

const (
    WinRMProtocolHTTP  WinRMProtocol = "Http"
    WinRMProtocolHTTPS WinRMProtocol = "Https"
)