| 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. |
| // Changes may cause incorrect behavior and will be lost if the code is regenerated. |
| |
| import ( |
| "context" |
| "github.com/Azure/go-autorest/autorest" |
| "github.com/Azure/go-autorest/autorest/azure" |
| "github.com/Azure/go-autorest/autorest/validation" |
| "github.com/Azure/go-autorest/tracing" |
| "net/http" |
| ) |
| |
| // VirtualMachineScaleSetVMsClient is the compute Client |
| type VirtualMachineScaleSetVMsClient struct { |
| BaseClient |
| } |
| |
| // NewVirtualMachineScaleSetVMsClient creates an instance of the VirtualMachineScaleSetVMsClient client. |
| func NewVirtualMachineScaleSetVMsClient(subscriptionID string) VirtualMachineScaleSetVMsClient { |
| return NewVirtualMachineScaleSetVMsClientWithBaseURI(DefaultBaseURI, subscriptionID) |
| } |
| |
| // NewVirtualMachineScaleSetVMsClientWithBaseURI creates an instance of the VirtualMachineScaleSetVMsClient client. |
| func NewVirtualMachineScaleSetVMsClientWithBaseURI(baseURI string, subscriptionID string) VirtualMachineScaleSetVMsClient { |
| return VirtualMachineScaleSetVMsClient{NewWithBaseURI(baseURI, subscriptionID)} |
| } |
| |
| // Deallocate 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. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) Deallocate(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMsDeallocateFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.Deallocate") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.DeallocatePreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Deallocate", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.DeallocateSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Deallocate", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // DeallocatePreparer prepares the Deallocate request. |
| func (client VirtualMachineScaleSetVMsClient) DeallocatePreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // DeallocateSender sends the Deallocate request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) DeallocateSender(req *http.Request) (future VirtualMachineScaleSetVMsDeallocateFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // DeallocateResponder handles the response to the Deallocate request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) DeallocateResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // Delete deletes a virtual machine from a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) Delete(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMsDeleteFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.Delete") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.DeletePreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Delete", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.DeleteSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Delete", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // DeletePreparer prepares the Delete request. |
| func (client VirtualMachineScaleSetVMsClient) DeletePreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsDelete(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // DeleteSender sends the Delete request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) DeleteSender(req *http.Request) (future VirtualMachineScaleSetVMsDeleteFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // DeleteResponder handles the response to the Delete request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // Get gets a virtual machine from a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) Get(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVM, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.Get") |
| defer func() { |
| sc := -1 |
| if result.Response.Response != nil { |
| sc = result.Response.Response.StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.GetPreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Get", nil, "Failure preparing request") |
| return |
| } |
| |
| resp, err := client.GetSender(req) |
| if err != nil { |
| result.Response = autorest.Response{Response: resp} |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Get", resp, "Failure sending request") |
| return |
| } |
| |
| result, err = client.GetResponder(resp) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Get", resp, "Failure responding to request") |
| } |
| |
| return |
| } |
| |
| // GetPreparer prepares the Get request. |
| func (client VirtualMachineScaleSetVMsClient) GetPreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsGet(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // GetSender sends the Get request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) GetSender(req *http.Request) (*http.Response, error) { |
| return autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| } |
| |
| // GetResponder handles the response to the Get request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) GetResponder(resp *http.Response) (result VirtualMachineScaleSetVM, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK), |
| autorest.ByUnmarshallingJSON(&result), |
| autorest.ByClosing()) |
| result.Response = autorest.Response{Response: resp} |
| return |
| } |
| |
| // GetInstanceView gets the status of a virtual machine from a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) GetInstanceView(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMInstanceView, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.GetInstanceView") |
| defer func() { |
| sc := -1 |
| if result.Response.Response != nil { |
| sc = result.Response.Response.StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.GetInstanceViewPreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "GetInstanceView", nil, "Failure preparing request") |
| return |
| } |
| |
| resp, err := client.GetInstanceViewSender(req) |
| if err != nil { |
| result.Response = autorest.Response{Response: resp} |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "GetInstanceView", resp, "Failure sending request") |
| return |
| } |
| |
| result, err = client.GetInstanceViewResponder(resp) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "GetInstanceView", resp, "Failure responding to request") |
| } |
| |
| return |
| } |
| |
| // GetInstanceViewPreparer prepares the GetInstanceView request. |
| func (client VirtualMachineScaleSetVMsClient) GetInstanceViewPreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsGet(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // GetInstanceViewSender sends the GetInstanceView request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) GetInstanceViewSender(req *http.Request) (*http.Response, error) { |
| return autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| } |
| |
| // GetInstanceViewResponder handles the response to the GetInstanceView request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) GetInstanceViewResponder(resp *http.Response) (result VirtualMachineScaleSetVMInstanceView, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK), |
| autorest.ByUnmarshallingJSON(&result), |
| autorest.ByClosing()) |
| result.Response = autorest.Response{Response: resp} |
| return |
| } |
| |
| // List gets a list of all virtual machines in a VM scale sets. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // virtualMachineScaleSetName - the name of the VM scale set. |
| // filter - the filter to apply to the operation. |
| // selectParameter - the list parameters. |
| // expand - the expand expression to apply to the operation. |
| func (client VirtualMachineScaleSetVMsClient) List(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string) (result VirtualMachineScaleSetVMListResultPage, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.List") |
| defer func() { |
| sc := -1 |
| if result.vmssvlr.Response.Response != nil { |
| sc = result.vmssvlr.Response.Response.StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| result.fn = client.listNextResults |
| req, err := client.ListPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, filter, selectParameter, expand) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "List", nil, "Failure preparing request") |
| return |
| } |
| |
| resp, err := client.ListSender(req) |
| if err != nil { |
| result.vmssvlr.Response = autorest.Response{Response: resp} |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "List", resp, "Failure sending request") |
| return |
| } |
| |
| result.vmssvlr, err = client.ListResponder(resp) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "List", resp, "Failure responding to request") |
| } |
| |
| return |
| } |
| |
| // ListPreparer prepares the List request. |
| func (client VirtualMachineScaleSetVMsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| if len(filter) > 0 { |
| queryParameters["$filter"] = autorest.Encode("query", filter) |
| } |
| if len(selectParameter) > 0 { |
| queryParameters["$select"] = autorest.Encode("query", selectParameter) |
| } |
| if len(expand) > 0 { |
| queryParameters["$expand"] = autorest.Encode("query", expand) |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsGet(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // ListSender sends the List request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) ListSender(req *http.Request) (*http.Response, error) { |
| return autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| } |
| |
| // ListResponder handles the response to the List request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) ListResponder(resp *http.Response) (result VirtualMachineScaleSetVMListResult, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK), |
| autorest.ByUnmarshallingJSON(&result), |
| autorest.ByClosing()) |
| result.Response = autorest.Response{Response: resp} |
| return |
| } |
| |
| // listNextResults retrieves the next set of results, if any. |
| func (client VirtualMachineScaleSetVMsClient) listNextResults(ctx context.Context, lastResults VirtualMachineScaleSetVMListResult) (result VirtualMachineScaleSetVMListResult, err error) { |
| req, err := lastResults.virtualMachineScaleSetVMListResultPreparer(ctx) |
| if err != nil { |
| return result, autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "listNextResults", nil, "Failure preparing next results request") |
| } |
| if req == nil { |
| return |
| } |
| resp, err := client.ListSender(req) |
| if err != nil { |
| result.Response = autorest.Response{Response: resp} |
| return result, autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "listNextResults", resp, "Failure sending next results request") |
| } |
| result, err = client.ListResponder(resp) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "listNextResults", resp, "Failure responding to next results request") |
| } |
| return |
| } |
| |
| // ListComplete enumerates all values, automatically crossing page boundaries as required. |
| func (client VirtualMachineScaleSetVMsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string) (result VirtualMachineScaleSetVMListResultIterator, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.List") |
| defer func() { |
| sc := -1 |
| if result.Response().Response.Response != nil { |
| sc = result.page.Response().Response.Response.StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| result.page, err = client.List(ctx, resourceGroupName, virtualMachineScaleSetName, filter, selectParameter, expand) |
| return |
| } |
| |
| // PerformMaintenance performs maintenance on a virtual machine in a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) PerformMaintenance(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMsPerformMaintenanceFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.PerformMaintenance") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.PerformMaintenancePreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "PerformMaintenance", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.PerformMaintenanceSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "PerformMaintenance", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // PerformMaintenancePreparer prepares the PerformMaintenance request. |
| func (client VirtualMachineScaleSetVMsClient) PerformMaintenancePreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // PerformMaintenanceSender sends the PerformMaintenance request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) PerformMaintenanceSender(req *http.Request) (future VirtualMachineScaleSetVMsPerformMaintenanceFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // PerformMaintenanceResponder handles the response to the PerformMaintenance request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) PerformMaintenanceResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // PowerOff 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. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) PowerOff(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMsPowerOffFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.PowerOff") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.PowerOffPreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "PowerOff", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.PowerOffSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "PowerOff", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // PowerOffPreparer prepares the PowerOff request. |
| func (client VirtualMachineScaleSetVMsClient) PowerOffPreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // PowerOffSender sends the PowerOff request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) PowerOffSender(req *http.Request) (future VirtualMachineScaleSetVMsPowerOffFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // PowerOffResponder handles the response to the PowerOff request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) PowerOffResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // Redeploy redeploys a virtual machine in a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) Redeploy(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMsRedeployFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.Redeploy") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.RedeployPreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Redeploy", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.RedeploySender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Redeploy", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // RedeployPreparer prepares the Redeploy request. |
| func (client VirtualMachineScaleSetVMsClient) RedeployPreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // RedeploySender sends the Redeploy request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) RedeploySender(req *http.Request) (future VirtualMachineScaleSetVMsRedeployFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // RedeployResponder handles the response to the Redeploy request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) RedeployResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // Reimage reimages (upgrade the operating system) a specific virtual machine in a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| // VMScaleSetVMReimageInput - parameters for the Reimaging Virtual machine in ScaleSet. |
| func (client VirtualMachineScaleSetVMsClient) Reimage(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, VMScaleSetVMReimageInput *VirtualMachineScaleSetVMReimageParameters) (result VirtualMachineScaleSetVMsReimageFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.Reimage") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.ReimagePreparer(ctx, resourceGroupName, VMScaleSetName, instanceID, VMScaleSetVMReimageInput) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Reimage", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.ReimageSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Reimage", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // ReimagePreparer prepares the Reimage request. |
| func (client VirtualMachineScaleSetVMsClient) ReimagePreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, VMScaleSetVMReimageInput *VirtualMachineScaleSetVMReimageParameters) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsContentType("application/json; charset=utf-8"), |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| if VMScaleSetVMReimageInput != nil { |
| preparer = autorest.DecoratePreparer(preparer, |
| autorest.WithJSON(VMScaleSetVMReimageInput)) |
| } |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // ReimageSender sends the Reimage request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) ReimageSender(req *http.Request) (future VirtualMachineScaleSetVMsReimageFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // ReimageResponder handles the response to the Reimage request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) ReimageResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // ReimageAll allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. This |
| // operation is only supported for managed disks. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) ReimageAll(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMsReimageAllFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.ReimageAll") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.ReimageAllPreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "ReimageAll", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.ReimageAllSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "ReimageAll", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // ReimageAllPreparer prepares the ReimageAll request. |
| func (client VirtualMachineScaleSetVMsClient) ReimageAllPreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // ReimageAllSender sends the ReimageAll request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) ReimageAllSender(req *http.Request) (future VirtualMachineScaleSetVMsReimageAllFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // ReimageAllResponder handles the response to the ReimageAll request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) ReimageAllResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // Restart restarts a virtual machine in a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) Restart(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMsRestartFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.Restart") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.RestartPreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Restart", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.RestartSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Restart", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // RestartPreparer prepares the Restart request. |
| func (client VirtualMachineScaleSetVMsClient) RestartPreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // RestartSender sends the Restart request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) RestartSender(req *http.Request) (future VirtualMachineScaleSetVMsRestartFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // RestartResponder handles the response to the Restart request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) RestartResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // RunCommand run command on a virtual machine in a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| // parameters - parameters supplied to the Run command operation. |
| func (client VirtualMachineScaleSetVMsClient) RunCommand(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, parameters RunCommandInput) (result VirtualMachineScaleSetVMsRunCommandFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.RunCommand") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| if err := validation.Validate([]validation.Validation{ |
| {TargetValue: parameters, |
| Constraints: []validation.Constraint{{Target: "parameters.CommandID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { |
| return result, validation.NewError("compute.VirtualMachineScaleSetVMsClient", "RunCommand", err.Error()) |
| } |
| |
| req, err := client.RunCommandPreparer(ctx, resourceGroupName, VMScaleSetName, instanceID, parameters) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "RunCommand", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.RunCommandSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "RunCommand", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // RunCommandPreparer prepares the RunCommand request. |
| func (client VirtualMachineScaleSetVMsClient) RunCommandPreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, parameters RunCommandInput) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsContentType("application/json; charset=utf-8"), |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/runCommand", pathParameters), |
| autorest.WithJSON(parameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // RunCommandSender sends the RunCommand request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) RunCommandSender(req *http.Request) (future VirtualMachineScaleSetVMsRunCommandFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // RunCommandResponder handles the response to the RunCommand request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) RunCommandResponder(resp *http.Response) (result RunCommandResult, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByUnmarshallingJSON(&result), |
| autorest.ByClosing()) |
| result.Response = autorest.Response{Response: resp} |
| return |
| } |
| |
| // Start starts a virtual machine in a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set. |
| // instanceID - the instance ID of the virtual machine. |
| func (client VirtualMachineScaleSetVMsClient) Start(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result VirtualMachineScaleSetVMsStartFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.Start") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| req, err := client.StartPreparer(ctx, resourceGroupName, VMScaleSetName, instanceID) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Start", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.StartSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Start", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // StartPreparer prepares the Start request. |
| func (client VirtualMachineScaleSetVMsClient) StartPreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsPost(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start", pathParameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // StartSender sends the Start request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) StartSender(req *http.Request) (future VirtualMachineScaleSetVMsStartFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // StartResponder handles the response to the Start request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) StartResponder(resp *http.Response) (result autorest.Response, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByClosing()) |
| result.Response = resp |
| return |
| } |
| |
| // Update updates a virtual machine of a VM scale set. |
| // Parameters: |
| // resourceGroupName - the name of the resource group. |
| // VMScaleSetName - the name of the VM scale set where the extension should be create or updated. |
| // instanceID - the instance ID of the virtual machine. |
| // parameters - parameters supplied to the Update Virtual Machine Scale Sets VM operation. |
| func (client VirtualMachineScaleSetVMsClient) Update(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, parameters VirtualMachineScaleSetVM) (result VirtualMachineScaleSetVMsUpdateFuture, err error) { |
| if tracing.IsEnabled() { |
| ctx = tracing.StartSpan(ctx, fqdn+"/VirtualMachineScaleSetVMsClient.Update") |
| defer func() { |
| sc := -1 |
| if result.Response() != nil { |
| sc = result.Response().StatusCode |
| } |
| tracing.EndSpan(ctx, sc, err) |
| }() |
| } |
| if err := validation.Validate([]validation.Validation{ |
| {TargetValue: parameters, |
| Constraints: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetVMProperties", Name: validation.Null, Rule: false, |
| Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile", Name: validation.Null, Rule: false, |
| Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile.OsDisk", Name: validation.Null, Rule: false, |
| Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile.OsDisk.EncryptionSettings", Name: validation.Null, Rule: false, |
| Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile.OsDisk.EncryptionSettings.DiskEncryptionKey", Name: validation.Null, Rule: false, |
| Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile.OsDisk.EncryptionSettings.DiskEncryptionKey.SecretURL", Name: validation.Null, Rule: true, Chain: nil}, |
| {Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile.OsDisk.EncryptionSettings.DiskEncryptionKey.SourceVault", Name: validation.Null, Rule: true, Chain: nil}, |
| }}, |
| {Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile.OsDisk.EncryptionSettings.KeyEncryptionKey", Name: validation.Null, Rule: false, |
| Chain: []validation.Constraint{{Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile.OsDisk.EncryptionSettings.KeyEncryptionKey.KeyURL", Name: validation.Null, Rule: true, Chain: nil}, |
| {Target: "parameters.VirtualMachineScaleSetVMProperties.StorageProfile.OsDisk.EncryptionSettings.KeyEncryptionKey.SourceVault", Name: validation.Null, Rule: true, Chain: nil}, |
| }}, |
| }}, |
| }}, |
| }}, |
| }}}}}); err != nil { |
| return result, validation.NewError("compute.VirtualMachineScaleSetVMsClient", "Update", err.Error()) |
| } |
| |
| req, err := client.UpdatePreparer(ctx, resourceGroupName, VMScaleSetName, instanceID, parameters) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Update", nil, "Failure preparing request") |
| return |
| } |
| |
| result, err = client.UpdateSender(req) |
| if err != nil { |
| err = autorest.NewErrorWithError(err, "compute.VirtualMachineScaleSetVMsClient", "Update", result.Response(), "Failure sending request") |
| return |
| } |
| |
| return |
| } |
| |
| // UpdatePreparer prepares the Update request. |
| func (client VirtualMachineScaleSetVMsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, parameters VirtualMachineScaleSetVM) (*http.Request, error) { |
| pathParameters := map[string]interface{}{ |
| "instanceId": autorest.Encode("path", instanceID), |
| "resourceGroupName": autorest.Encode("path", resourceGroupName), |
| "subscriptionId": autorest.Encode("path", client.SubscriptionID), |
| "vmScaleSetName": autorest.Encode("path", VMScaleSetName), |
| } |
| |
| const APIVersion = "2018-10-01" |
| queryParameters := map[string]interface{}{ |
| "api-version": APIVersion, |
| } |
| |
| preparer := autorest.CreatePreparer( |
| autorest.AsContentType("application/json; charset=utf-8"), |
| autorest.AsPut(), |
| autorest.WithBaseURL(client.BaseURI), |
| autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}", pathParameters), |
| autorest.WithJSON(parameters), |
| autorest.WithQueryParameters(queryParameters)) |
| return preparer.Prepare((&http.Request{}).WithContext(ctx)) |
| } |
| |
| // UpdateSender sends the Update request. The method will close the |
| // http.Response Body if it receives an error. |
| func (client VirtualMachineScaleSetVMsClient) UpdateSender(req *http.Request) (future VirtualMachineScaleSetVMsUpdateFuture, err error) { |
| var resp *http.Response |
| resp, err = autorest.SendWithSender(client, req, |
| azure.DoRetryWithRegistration(client.Client)) |
| if err != nil { |
| return |
| } |
| future.Future, err = azure.NewFutureFromResponse(resp) |
| return |
| } |
| |
| // UpdateResponder handles the response to the Update request. The method always |
| // closes the http.Response Body. |
| func (client VirtualMachineScaleSetVMsClient) UpdateResponder(resp *http.Response) (result VirtualMachineScaleSetVM, err error) { |
| err = autorest.Respond( |
| resp, |
| client.ByInspecting(), |
| azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), |
| autorest.ByUnmarshallingJSON(&result), |
| autorest.ByClosing()) |
| result.Response = autorest.Response{Response: resp} |
| return |
| } |