cloud/azure/compute/client/virtual_machine_scale_set_vms/virtual_machine_scale_set_vms_client.go
package virtual_machine_scale_set_vms
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"github.com/go-openapi/runtime"
strfmt "github.com/go-openapi/strfmt"
)
// New creates a new virtual machine scale set vms API client.
func New(transport runtime.ClientTransport, formats strfmt.Registry) *Client {
return &Client{transport: transport, formats: formats}
}
/*
Client for virtual machine scale set vms API
*/
type Client struct {
transport runtime.ClientTransport
formats strfmt.Registry
}
/*
VirtualMachineScaleSetVmsDeallocate Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and releases the compute resources it uses. You are not billed for the compute resources of this virtual machine once it is deallocated.
*/
func (a *Client) VirtualMachineScaleSetVmsDeallocate(params *VirtualMachineScaleSetVmsDeallocateParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsDeallocateOK, *VirtualMachineScaleSetVmsDeallocateAccepted, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsDeallocateParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_Deallocate",
Method: "POST",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsDeallocateReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, nil, err
}
switch value := result.(type) {
case *VirtualMachineScaleSetVmsDeallocateOK:
return value, nil, nil
case *VirtualMachineScaleSetVmsDeallocateAccepted:
return nil, value, nil
}
return nil, nil, nil
}
/*
VirtualMachineScaleSetVmsDelete Deletes a virtual machine from a VM scale set.
*/
func (a *Client) VirtualMachineScaleSetVmsDelete(params *VirtualMachineScaleSetVmsDeleteParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsDeleteOK, *VirtualMachineScaleSetVmsDeleteAccepted, *VirtualMachineScaleSetVmsDeleteNoContent, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsDeleteParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_Delete",
Method: "DELETE",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsDeleteReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, nil, nil, err
}
switch value := result.(type) {
case *VirtualMachineScaleSetVmsDeleteOK:
return value, nil, nil, nil
case *VirtualMachineScaleSetVmsDeleteAccepted:
return nil, value, nil, nil
case *VirtualMachineScaleSetVmsDeleteNoContent:
return nil, nil, value, nil
}
return nil, nil, nil, nil
}
/*
VirtualMachineScaleSetVmsGet Gets a virtual machine from a VM scale set.
*/
func (a *Client) VirtualMachineScaleSetVmsGet(params *VirtualMachineScaleSetVmsGetParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsGetOK, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsGetParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_Get",
Method: "GET",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsGetReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
return result.(*VirtualMachineScaleSetVmsGetOK), nil
}
/*
VirtualMachineScaleSetVmsGetInstanceView Gets the status of a virtual machine from a VM scale set.
*/
func (a *Client) VirtualMachineScaleSetVmsGetInstanceView(params *VirtualMachineScaleSetVmsGetInstanceViewParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsGetInstanceViewOK, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsGetInstanceViewParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_GetInstanceView",
Method: "GET",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsGetInstanceViewReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
return result.(*VirtualMachineScaleSetVmsGetInstanceViewOK), nil
}
/*
VirtualMachineScaleSetVmsList Gets a list of all virtual machines in a VM scale sets.
*/
func (a *Client) VirtualMachineScaleSetVmsList(params *VirtualMachineScaleSetVmsListParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsListOK, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsListParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_List",
Method: "GET",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsListReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, err
}
return result.(*VirtualMachineScaleSetVmsListOK), nil
}
/*
VirtualMachineScaleSetVmsPowerOff Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.
*/
func (a *Client) VirtualMachineScaleSetVmsPowerOff(params *VirtualMachineScaleSetVmsPowerOffParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsPowerOffOK, *VirtualMachineScaleSetVmsPowerOffAccepted, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsPowerOffParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_PowerOff",
Method: "POST",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsPowerOffReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, nil, err
}
switch value := result.(type) {
case *VirtualMachineScaleSetVmsPowerOffOK:
return value, nil, nil
case *VirtualMachineScaleSetVmsPowerOffAccepted:
return nil, value, nil
}
return nil, nil, nil
}
/*
VirtualMachineScaleSetVmsReimage Reimages (upgrade the operating system) a specific virtual machine in a VM scale set.
*/
func (a *Client) VirtualMachineScaleSetVmsReimage(params *VirtualMachineScaleSetVmsReimageParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsReimageOK, *VirtualMachineScaleSetVmsReimageAccepted, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsReimageParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_Reimage",
Method: "POST",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsReimageReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, nil, err
}
switch value := result.(type) {
case *VirtualMachineScaleSetVmsReimageOK:
return value, nil, nil
case *VirtualMachineScaleSetVmsReimageAccepted:
return nil, value, nil
}
return nil, nil, nil
}
/*
VirtualMachineScaleSetVmsReimageAll Allows you to re-image all the disks ( including data disks ) in the a virtual machine scale set instance. This operation is only supported for managed disks.
*/
func (a *Client) VirtualMachineScaleSetVmsReimageAll(params *VirtualMachineScaleSetVmsReimageAllParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsReimageAllOK, *VirtualMachineScaleSetVmsReimageAllAccepted, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsReimageAllParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_ReimageAll",
Method: "POST",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsReimageAllReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, nil, err
}
switch value := result.(type) {
case *VirtualMachineScaleSetVmsReimageAllOK:
return value, nil, nil
case *VirtualMachineScaleSetVmsReimageAllAccepted:
return nil, value, nil
}
return nil, nil, nil
}
/*
VirtualMachineScaleSetVmsRestart Restarts a virtual machine in a VM scale set.
*/
func (a *Client) VirtualMachineScaleSetVmsRestart(params *VirtualMachineScaleSetVmsRestartParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsRestartOK, *VirtualMachineScaleSetVmsRestartAccepted, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsRestartParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_Restart",
Method: "POST",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsRestartReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, nil, err
}
switch value := result.(type) {
case *VirtualMachineScaleSetVmsRestartOK:
return value, nil, nil
case *VirtualMachineScaleSetVmsRestartAccepted:
return nil, value, nil
}
return nil, nil, nil
}
/*
VirtualMachineScaleSetVmsStart Starts a virtual machine in a VM scale set.
*/
func (a *Client) VirtualMachineScaleSetVmsStart(params *VirtualMachineScaleSetVmsStartParams, authInfo runtime.ClientAuthInfoWriter) (*VirtualMachineScaleSetVmsStartOK, *VirtualMachineScaleSetVmsStartAccepted, error) {
// TODO: Validate the params before sending
if params == nil {
params = NewVirtualMachineScaleSetVmsStartParams()
}
result, err := a.transport.Submit(&runtime.ClientOperation{
ID: "VirtualMachineScaleSetVMs_Start",
Method: "POST",
PathPattern: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start",
ProducesMediaTypes: []string{"application/json"},
ConsumesMediaTypes: []string{"application/json"},
Schemes: []string{"https"},
Params: params,
Reader: &VirtualMachineScaleSetVmsStartReader{formats: a.formats},
AuthInfo: authInfo,
Context: params.Context,
Client: params.HTTPClient,
})
if err != nil {
return nil, nil, err
}
switch value := result.(type) {
case *VirtualMachineScaleSetVmsStartOK:
return value, nil, nil
case *VirtualMachineScaleSetVmsStartAccepted:
return nil, value, nil
}
return nil, nil, nil
}
// SetTransport changes the transport on the client
func (a *Client) SetTransport(transport runtime.ClientTransport) {
a.transport = transport
}