package batch // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // // 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/date" "github.com/Azure/go-autorest/autorest/validation" "github.com/Azure/go-autorest/tracing" "github.com/gofrs/uuid" "net/http" ) // ComputeNodeClient is the a client for issuing REST requests to the Azure Batch service. type ComputeNodeClient struct { BaseClient } // NewComputeNodeClient creates an instance of the ComputeNodeClient client. func NewComputeNodeClient(batchURL string) ComputeNodeClient { return ComputeNodeClient{New(batchURL)} } // AddUser you can add a user Account to a Compute Node only when it is in the idle or running state. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the machine on which you want to create a user Account. // userParameter - the user Account to be created. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) AddUser(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.AddUser") defer func() { sc := -1 if result.Response != nil { sc = result.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } if err := validation.Validate([]validation.Validation{ {TargetValue: userParameter, Constraints: []validation.Constraint{{Target: "userParameter.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewError("batch.ComputeNodeClient", "AddUser", err.Error()) } req, err := client.AddUserPreparer(ctx, poolID, nodeID, userParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", nil, "Failure preparing request") return } resp, err := client.AddUserSender(req) if err != nil { result.Response = resp err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure sending request") return } result, err = client.AddUserResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure responding to request") return } return } // AddUserPreparer prepares the AddUser request. func (client ComputeNodeClient) AddUserPreparer(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), autorest.AsPost(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users", pathParameters), autorest.WithJSON(userParameter), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // AddUserSender sends the AddUser request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) AddUserSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // AddUserResponder handles the response to the AddUser request. The method always // closes the http.Response Body. func (client ComputeNodeClient) AddUserResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), autorest.ByClosing()) result.Response = resp return } // DeleteUser you can delete a user Account to a Compute Node only when it is in the idle or running state. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the machine on which you want to delete a user Account. // userName - the name of the user Account to delete. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) DeleteUser(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.DeleteUser") defer func() { sc := -1 if result.Response != nil { sc = result.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } req, err := client.DeleteUserPreparer(ctx, poolID, nodeID, userName, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", nil, "Failure preparing request") return } resp, err := client.DeleteUserSender(req) if err != nil { result.Response = resp err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure sending request") return } result, err = client.DeleteUserResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure responding to request") return } return } // DeleteUserPreparer prepares the DeleteUser request. func (client ComputeNodeClient) DeleteUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), "userName": autorest.Encode("path", userName), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsDelete(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // DeleteUserSender sends the DeleteUser request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) DeleteUserSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // DeleteUserResponder handles the response to the DeleteUser request. The method always // closes the http.Response Body. func (client ComputeNodeClient) DeleteUserResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByClosing()) result.Response = resp return } // DisableScheduling you can disable Task scheduling on a Compute Node only if its current scheduling state is enabled. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the Compute Node on which you want to disable Task scheduling. // nodeDisableSchedulingParameter - the parameters for the request. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) DisableScheduling(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.DisableScheduling") defer func() { sc := -1 if result.Response != nil { sc = result.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } req, err := client.DisableSchedulingPreparer(ctx, poolID, nodeID, nodeDisableSchedulingParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", nil, "Failure preparing request") return } resp, err := client.DisableSchedulingSender(req) if err != nil { result.Response = resp err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure sending request") return } result, err = client.DisableSchedulingResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure responding to request") return } return } // DisableSchedulingPreparer prepares the DisableScheduling request. func (client ComputeNodeClient) DisableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), autorest.AsPost(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/disablescheduling", pathParameters), autorest.WithQueryParameters(queryParameters)) if nodeDisableSchedulingParameter != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithJSON(nodeDisableSchedulingParameter)) } if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // DisableSchedulingSender sends the DisableScheduling request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) DisableSchedulingSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // DisableSchedulingResponder handles the response to the DisableScheduling request. The method always // closes the http.Response Body. func (client ComputeNodeClient) DisableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByClosing()) result.Response = resp return } // EnableScheduling you can enable Task scheduling on a Compute Node only if its current scheduling state is disabled // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the Compute Node on which you want to enable Task scheduling. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) EnableScheduling(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.EnableScheduling") defer func() { sc := -1 if result.Response != nil { sc = result.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } req, err := client.EnableSchedulingPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", nil, "Failure preparing request") return } resp, err := client.EnableSchedulingSender(req) if err != nil { result.Response = resp err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure sending request") return } result, err = client.EnableSchedulingResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure responding to request") return } return } // EnableSchedulingPreparer prepares the EnableScheduling request. func (client ComputeNodeClient) EnableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsPost(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/enablescheduling", pathParameters), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // EnableSchedulingSender sends the EnableScheduling request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) EnableSchedulingSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // EnableSchedulingResponder handles the response to the EnableScheduling request. The method always // closes the http.Response Body. func (client ComputeNodeClient) EnableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByClosing()) result.Response = resp return } // Get sends the get request. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the Compute Node that you want to get information about. // selectParameter - an OData $select clause. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) Get(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNode, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.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, poolID, nodeID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure responding to request") return } return } // GetPreparer prepares the Get request. func (client ComputeNodeClient) GetPreparer(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if len(selectParameter) > 0 { queryParameters["$select"] = autorest.Encode("query", selectParameter) } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}", pathParameters), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } 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 ComputeNodeClient) GetSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. func (client ComputeNodeClient) GetResponder(resp *http.Response) (result ComputeNode, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } // GetRemoteDesktop before you can access a Compute Node by using the RDP file, you must create a user Account on the // Compute Node. This API can only be invoked on Pools created with a cloud service configuration. For Pools created // with a virtual machine configuration, see the GetRemoteLoginSettings API. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the Compute Node for which you want to get the Remote Desktop Protocol file. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) GetRemoteDesktop(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ReadCloser, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.GetRemoteDesktop") defer func() { sc := -1 if result.Response.Response != nil { sc = result.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } req, err := client.GetRemoteDesktopPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", nil, "Failure preparing request") return } resp, err := client.GetRemoteDesktopSender(req) if err != nil { result.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure sending request") return } result, err = client.GetRemoteDesktopResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure responding to request") return } return } // GetRemoteDesktopPreparer prepares the GetRemoteDesktop request. func (client ComputeNodeClient) GetRemoteDesktopPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/rdp", pathParameters), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // GetRemoteDesktopSender sends the GetRemoteDesktop request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) GetRemoteDesktopSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // GetRemoteDesktopResponder handles the response to the GetRemoteDesktop request. The method always // closes the http.Response Body. func (client ComputeNodeClient) GetRemoteDesktopResponder(resp *http.Response) (result ReadCloser, err error) { result.Value = &resp.Body err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK)) result.Response = autorest.Response{Response: resp} return } // GetRemoteLoginSettings before you can remotely login to a Compute Node using the remote login settings, you must // create a user Account on the Compute Node. This API can be invoked only on Pools created with the virtual machine // configuration property. For Pools created with a cloud service configuration, see the GetRemoteDesktop API. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the Compute Node for which to obtain the remote login settings. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) GetRemoteLoginSettings(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.GetRemoteLoginSettings") defer func() { sc := -1 if result.Response.Response != nil { sc = result.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } req, err := client.GetRemoteLoginSettingsPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", nil, "Failure preparing request") return } resp, err := client.GetRemoteLoginSettingsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure sending request") return } result, err = client.GetRemoteLoginSettingsResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure responding to request") return } return } // GetRemoteLoginSettingsPreparer prepares the GetRemoteLoginSettings request. func (client ComputeNodeClient) GetRemoteLoginSettingsPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", pathParameters), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // GetRemoteLoginSettingsSender sends the GetRemoteLoginSettings request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) GetRemoteLoginSettingsSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // GetRemoteLoginSettingsResponder handles the response to the GetRemoteLoginSettings request. The method always // closes the http.Response Body. func (client ComputeNodeClient) GetRemoteLoginSettingsResponder(resp *http.Response) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } // List sends the list request. // Parameters: // poolID - the ID of the Pool from which you want to list Compute Nodes. // filter - an OData $filter clause. For more information on constructing this filter, see // https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool. // selectParameter - an OData $select clause. // maxResults - the maximum number of items to return in the response. A maximum of 1000 Compute Nodes can be // returned. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) List(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.List") defer func() { sc := -1 if result.cnlr.Response.Response != nil { sc = result.cnlr.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } if err := validation.Validate([]validation.Validation{ {TargetValue: maxResults, Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: int64(1000), Chain: nil}, {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: int64(1), Chain: nil}, }}}}}); err != nil { return result, validation.NewError("batch.ComputeNodeClient", "List", err.Error()) } result.fn = client.listNextResults req, err := client.ListPreparer(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { result.cnlr.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure sending request") return } result.cnlr, err = client.ListResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure responding to request") return } if result.cnlr.hasNextLink() && result.cnlr.IsEmpty() { err = result.NextWithContext(ctx) return } return } // ListPreparer prepares the List request. func (client ComputeNodeClient) ListPreparer(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" 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 maxResults != nil { queryParameters["maxresults"] = autorest.Encode("query", *maxResults) } else { queryParameters["maxresults"] = autorest.Encode("query", 1000) } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes", pathParameters), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } 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 ComputeNodeClient) ListSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // ListResponder handles the response to the List request. The method always // closes the http.Response Body. func (client ComputeNodeClient) ListResponder(resp *http.Response) (result ComputeNodeListResult, err error) { err = autorest.Respond( resp, 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 ComputeNodeClient) listNextResults(ctx context.Context, lastResults ComputeNodeListResult) (result ComputeNodeListResult, err error) { req, err := lastResults.computeNodeListResultPreparer(ctx) if err != nil { return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "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, "batch.ComputeNodeClient", "listNextResults", resp, "Failure sending next results request") } result, err = client.ListResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure responding to next results request") } return } // ListComplete enumerates all values, automatically crossing page boundaries as required. func (client ComputeNodeClient) ListComplete(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.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, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) return } // Reboot you can restart a Compute Node only if it is in an idle or running state. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the Compute Node that you want to restart. // nodeRebootParameter - the parameters for the request. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) Reboot(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.Reboot") defer func() { sc := -1 if result.Response != nil { sc = result.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } req, err := client.RebootPreparer(ctx, poolID, nodeID, nodeRebootParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", nil, "Failure preparing request") return } resp, err := client.RebootSender(req) if err != nil { result.Response = resp err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure sending request") return } result, err = client.RebootResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure responding to request") return } return } // RebootPreparer prepares the Reboot request. func (client ComputeNodeClient) RebootPreparer(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), autorest.AsPost(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reboot", pathParameters), autorest.WithQueryParameters(queryParameters)) if nodeRebootParameter != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithJSON(nodeRebootParameter)) } if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // RebootSender sends the Reboot request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) RebootSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // RebootResponder handles the response to the Reboot request. The method always // closes the http.Response Body. func (client ComputeNodeClient) RebootResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByClosing()) result.Response = resp return } // Reimage you can reinstall the operating system on a Compute Node only if it is in an idle or running state. This API // can be invoked only on Pools created with the cloud service configuration property. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the Compute Node that you want to restart. // nodeReimageParameter - the parameters for the request. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) Reimage(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.Reimage") defer func() { sc := -1 if result.Response != nil { sc = result.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } req, err := client.ReimagePreparer(ctx, poolID, nodeID, nodeReimageParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", nil, "Failure preparing request") return } resp, err := client.ReimageSender(req) if err != nil { result.Response = resp err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure sending request") return } result, err = client.ReimageResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure responding to request") return } return } // ReimagePreparer prepares the Reimage request. func (client ComputeNodeClient) ReimagePreparer(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), autorest.AsPost(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reimage", pathParameters), autorest.WithQueryParameters(queryParameters)) if nodeReimageParameter != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithJSON(nodeReimageParameter)) } if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } 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 ComputeNodeClient) ReimageSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // ReimageResponder handles the response to the Reimage request. The method always // closes the http.Response Body. func (client ComputeNodeClient) ReimageResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByClosing()) result.Response = resp return } // UpdateUser this operation replaces of all the updatable properties of the Account. For example, if the expiryTime // element is not specified, the current value is replaced with the default value, not left unmodified. You can update // a user Account on a Compute Node only when it is in the idle or running state. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the machine on which you want to update a user Account. // userName - the name of the user Account to update. // nodeUpdateUserParameter - the parameters for the request. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) UpdateUser(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.UpdateUser") defer func() { sc := -1 if result.Response != nil { sc = result.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } req, err := client.UpdateUserPreparer(ctx, poolID, nodeID, userName, nodeUpdateUserParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", nil, "Failure preparing request") return } resp, err := client.UpdateUserSender(req) if err != nil { result.Response = resp err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure sending request") return } result, err = client.UpdateUserResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure responding to request") return } return } // UpdateUserPreparer prepares the UpdateUser request. func (client ComputeNodeClient) UpdateUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), "userName": autorest.Encode("path", userName), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), autorest.AsPut(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), autorest.WithJSON(nodeUpdateUserParameter), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // UpdateUserSender sends the UpdateUser request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) UpdateUserSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // UpdateUserResponder handles the response to the UpdateUser request. The method always // closes the http.Response Body. func (client ComputeNodeClient) UpdateUserResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByClosing()) result.Response = resp return } // UploadBatchServiceLogs this is for gathering Azure Batch service log files in an automated fashion from Compute // Nodes if you are experiencing an error and wish to escalate to Azure support. The Azure Batch service log files // should be shared with Azure support to aid in debugging issues with the Batch service. // Parameters: // poolID - the ID of the Pool that contains the Compute Node. // nodeID - the ID of the Compute Node from which you want to upload the Azure Batch service log files. // uploadBatchServiceLogsConfiguration - the Azure Batch service log files upload configuration. // timeout - the maximum time that the server can spend processing the request, in seconds. The default is 30 // seconds. // clientRequestID - the caller-generated request identity, in the form of a GUID with no decoration such as // curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. // returnClientRequestID - whether the server should return the client-request-id in the response. // ocpDate - the time the request was issued. Client libraries typically set this to the current system clock // time; set it explicitly if you are calling the REST API directly. func (client ComputeNodeClient) UploadBatchServiceLogs(ctx context.Context, poolID string, nodeID string, uploadBatchServiceLogsConfiguration UploadBatchServiceLogsConfiguration, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result UploadBatchServiceLogsResult, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ComputeNodeClient.UploadBatchServiceLogs") defer func() { sc := -1 if result.Response.Response != nil { sc = result.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } if err := validation.Validate([]validation.Validation{ {TargetValue: uploadBatchServiceLogsConfiguration, Constraints: []validation.Constraint{{Target: "uploadBatchServiceLogsConfiguration.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, {Target: "uploadBatchServiceLogsConfiguration.StartTime", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewError("batch.ComputeNodeClient", "UploadBatchServiceLogs", err.Error()) } req, err := client.UploadBatchServiceLogsPreparer(ctx, poolID, nodeID, uploadBatchServiceLogsConfiguration, timeout, clientRequestID, returnClientRequestID, ocpDate) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UploadBatchServiceLogs", nil, "Failure preparing request") return } resp, err := client.UploadBatchServiceLogsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UploadBatchServiceLogs", resp, "Failure sending request") return } result, err = client.UploadBatchServiceLogsResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UploadBatchServiceLogs", resp, "Failure responding to request") return } return } // UploadBatchServiceLogsPreparer prepares the UploadBatchServiceLogs request. func (client ComputeNodeClient) UploadBatchServiceLogsPreparer(ctx context.Context, poolID string, nodeID string, uploadBatchServiceLogsConfiguration UploadBatchServiceLogsConfiguration, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { urlParameters := map[string]interface{}{ "batchUrl": client.BatchURL, } pathParameters := map[string]interface{}{ "nodeId": autorest.Encode("path", nodeID), "poolId": autorest.Encode("path", poolID), } const APIVersion = "2019-06-01.9.0" queryParameters := map[string]interface{}{ "api-version": APIVersion, } if timeout != nil { queryParameters["timeout"] = autorest.Encode("query", *timeout) } else { queryParameters["timeout"] = autorest.Encode("query", 30) } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), autorest.AsPost(), autorest.WithCustomBaseURL("{batchUrl}", urlParameters), autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs", pathParameters), autorest.WithJSON(uploadBatchServiceLogsConfiguration), autorest.WithQueryParameters(queryParameters)) if clientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) } if returnClientRequestID != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) } else { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("return-client-request-id", autorest.String(false))) } if ocpDate != nil { preparer = autorest.DecoratePreparer(preparer, autorest.WithHeader("ocp-date", autorest.String(ocpDate))) } return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // UploadBatchServiceLogsSender sends the UploadBatchServiceLogs request. The method will close the // http.Response Body if it receives an error. func (client ComputeNodeClient) UploadBatchServiceLogsSender(req *http.Request) (*http.Response, error) { return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) } // UploadBatchServiceLogsResponder handles the response to the UploadBatchServiceLogs request. The method always // closes the http.Response Body. func (client ComputeNodeClient) UploadBatchServiceLogsResponder(resp *http.Response) (result UploadBatchServiceLogsResult, err error) { err = autorest.Respond( resp, azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return }