...

Source file src/github.com/Azure/azure-sdk-for-go/services/recoveryservices/mgmt/2022-03-01/backup/recoverypointsrecommendedformove.go

Documentation: github.com/Azure/azure-sdk-for-go/services/recoveryservices/mgmt/2022-03-01/backup

     1  package backup
     2  
     3  // Copyright (c) Microsoft Corporation. All rights reserved.
     4  // Licensed under the MIT License. See License.txt in the project root for license information.
     5  //
     6  // Code generated by Microsoft (R) AutoRest Code Generator.
     7  // Changes may cause incorrect behavior and will be lost if the code is regenerated.
     8  
     9  import (
    10  	"context"
    11  	"github.com/Azure/go-autorest/autorest"
    12  	"github.com/Azure/go-autorest/autorest/azure"
    13  	"github.com/Azure/go-autorest/tracing"
    14  	"net/http"
    15  )
    16  
    17  // RecoveryPointsRecommendedForMoveClient is the open API 2.0 Specs for Azure RecoveryServices Backup service
    18  type RecoveryPointsRecommendedForMoveClient struct {
    19  	BaseClient
    20  }
    21  
    22  // NewRecoveryPointsRecommendedForMoveClient creates an instance of the RecoveryPointsRecommendedForMoveClient client.
    23  func NewRecoveryPointsRecommendedForMoveClient(subscriptionID string) RecoveryPointsRecommendedForMoveClient {
    24  	return NewRecoveryPointsRecommendedForMoveClientWithBaseURI(DefaultBaseURI, subscriptionID)
    25  }
    26  
    27  // NewRecoveryPointsRecommendedForMoveClientWithBaseURI creates an instance of the
    28  // RecoveryPointsRecommendedForMoveClient client using a custom endpoint.  Use this when interacting with an Azure
    29  // cloud that uses a non-standard base URI (sovereign clouds, Azure stack).
    30  func NewRecoveryPointsRecommendedForMoveClientWithBaseURI(baseURI string, subscriptionID string) RecoveryPointsRecommendedForMoveClient {
    31  	return RecoveryPointsRecommendedForMoveClient{NewWithBaseURI(baseURI, subscriptionID)}
    32  }
    33  
    34  // List lists the recovery points recommended for move to another tier
    35  // Parameters:
    36  // vaultName - the name of the recovery services vault.
    37  // resourceGroupName - the name of the resource group where the recovery services vault is present.
    38  // parameters - list Recovery points Recommended for Move Request
    39  func (client RecoveryPointsRecommendedForMoveClient) List(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ListRecoveryPointsRecommendedForMoveRequest) (result RecoveryPointResourceListPage, err error) {
    40  	if tracing.IsEnabled() {
    41  		ctx = tracing.StartSpan(ctx, fqdn+"/RecoveryPointsRecommendedForMoveClient.List")
    42  		defer func() {
    43  			sc := -1
    44  			if result.rprl.Response.Response != nil {
    45  				sc = result.rprl.Response.Response.StatusCode
    46  			}
    47  			tracing.EndSpan(ctx, sc, err)
    48  		}()
    49  	}
    50  	result.fn = client.listNextResults
    51  	req, err := client.ListPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, parameters)
    52  	if err != nil {
    53  		err = autorest.NewErrorWithError(err, "backup.RecoveryPointsRecommendedForMoveClient", "List", nil, "Failure preparing request")
    54  		return
    55  	}
    56  
    57  	resp, err := client.ListSender(req)
    58  	if err != nil {
    59  		result.rprl.Response = autorest.Response{Response: resp}
    60  		err = autorest.NewErrorWithError(err, "backup.RecoveryPointsRecommendedForMoveClient", "List", resp, "Failure sending request")
    61  		return
    62  	}
    63  
    64  	result.rprl, err = client.ListResponder(resp)
    65  	if err != nil {
    66  		err = autorest.NewErrorWithError(err, "backup.RecoveryPointsRecommendedForMoveClient", "List", resp, "Failure responding to request")
    67  		return
    68  	}
    69  	if result.rprl.hasNextLink() && result.rprl.IsEmpty() {
    70  		err = result.NextWithContext(ctx)
    71  		return
    72  	}
    73  
    74  	return
    75  }
    76  
    77  // ListPreparer prepares the List request.
    78  func (client RecoveryPointsRecommendedForMoveClient) ListPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ListRecoveryPointsRecommendedForMoveRequest) (*http.Request, error) {
    79  	pathParameters := map[string]interface{}{
    80  		"containerName":     autorest.Encode("path", containerName),
    81  		"fabricName":        autorest.Encode("path", fabricName),
    82  		"protectedItemName": autorest.Encode("path", protectedItemName),
    83  		"resourceGroupName": autorest.Encode("path", resourceGroupName),
    84  		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
    85  		"vaultName":         autorest.Encode("path", vaultName),
    86  	}
    87  
    88  	const APIVersion = "2022-03-01"
    89  	queryParameters := map[string]interface{}{
    90  		"api-version": APIVersion,
    91  	}
    92  
    93  	preparer := autorest.CreatePreparer(
    94  		autorest.AsContentType("application/json; charset=utf-8"),
    95  		autorest.AsPost(),
    96  		autorest.WithBaseURL(client.BaseURI),
    97  		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove", pathParameters),
    98  		autorest.WithJSON(parameters),
    99  		autorest.WithQueryParameters(queryParameters))
   100  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   101  }
   102  
   103  // ListSender sends the List request. The method will close the
   104  // http.Response Body if it receives an error.
   105  func (client RecoveryPointsRecommendedForMoveClient) ListSender(req *http.Request) (*http.Response, error) {
   106  	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
   107  }
   108  
   109  // ListResponder handles the response to the List request. The method always
   110  // closes the http.Response Body.
   111  func (client RecoveryPointsRecommendedForMoveClient) ListResponder(resp *http.Response) (result RecoveryPointResourceList, err error) {
   112  	err = autorest.Respond(
   113  		resp,
   114  		azure.WithErrorUnlessStatusCode(http.StatusOK),
   115  		autorest.ByUnmarshallingJSON(&result),
   116  		autorest.ByClosing())
   117  	result.Response = autorest.Response{Response: resp}
   118  	return
   119  }
   120  
   121  // listNextResults retrieves the next set of results, if any.
   122  func (client RecoveryPointsRecommendedForMoveClient) listNextResults(ctx context.Context, lastResults RecoveryPointResourceList) (result RecoveryPointResourceList, err error) {
   123  	req, err := lastResults.recoveryPointResourceListPreparer(ctx)
   124  	if err != nil {
   125  		return result, autorest.NewErrorWithError(err, "backup.RecoveryPointsRecommendedForMoveClient", "listNextResults", nil, "Failure preparing next results request")
   126  	}
   127  	if req == nil {
   128  		return
   129  	}
   130  	resp, err := client.ListSender(req)
   131  	if err != nil {
   132  		result.Response = autorest.Response{Response: resp}
   133  		return result, autorest.NewErrorWithError(err, "backup.RecoveryPointsRecommendedForMoveClient", "listNextResults", resp, "Failure sending next results request")
   134  	}
   135  	result, err = client.ListResponder(resp)
   136  	if err != nil {
   137  		err = autorest.NewErrorWithError(err, "backup.RecoveryPointsRecommendedForMoveClient", "listNextResults", resp, "Failure responding to next results request")
   138  	}
   139  	return
   140  }
   141  
   142  // ListComplete enumerates all values, automatically crossing page boundaries as required.
   143  func (client RecoveryPointsRecommendedForMoveClient) ListComplete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ListRecoveryPointsRecommendedForMoveRequest) (result RecoveryPointResourceListIterator, err error) {
   144  	if tracing.IsEnabled() {
   145  		ctx = tracing.StartSpan(ctx, fqdn+"/RecoveryPointsRecommendedForMoveClient.List")
   146  		defer func() {
   147  			sc := -1
   148  			if result.Response().Response.Response != nil {
   149  				sc = result.page.Response().Response.Response.StatusCode
   150  			}
   151  			tracing.EndSpan(ctx, sc, err)
   152  		}()
   153  	}
   154  	result.page, err = client.List(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, parameters)
   155  	return
   156  }
   157  

View as plain text