...

Source file src/github.com/Azure/azure-sdk-for-go/services/recoveryservices/mgmt/2021-01-01/backup/itemlevelrecoveryconnections.go

Documentation: github.com/Azure/azure-sdk-for-go/services/recoveryservices/mgmt/2021-01-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  // ItemLevelRecoveryConnectionsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service
    18  type ItemLevelRecoveryConnectionsClient struct {
    19  	BaseClient
    20  }
    21  
    22  // NewItemLevelRecoveryConnectionsClient creates an instance of the ItemLevelRecoveryConnectionsClient client.
    23  func NewItemLevelRecoveryConnectionsClient(subscriptionID string) ItemLevelRecoveryConnectionsClient {
    24  	return NewItemLevelRecoveryConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID)
    25  }
    26  
    27  // NewItemLevelRecoveryConnectionsClientWithBaseURI creates an instance of the ItemLevelRecoveryConnectionsClient
    28  // client using a custom endpoint.  Use this when interacting with an Azure cloud that uses a non-standard base URI
    29  // (sovereign clouds, Azure stack).
    30  func NewItemLevelRecoveryConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ItemLevelRecoveryConnectionsClient {
    31  	return ItemLevelRecoveryConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)}
    32  }
    33  
    34  // Provision provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a
    35  // file
    36  // explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of
    37  // provisioning, call GetProtectedItemOperationResult API.
    38  // Parameters:
    39  // vaultName - the name of the recovery services vault.
    40  // resourceGroupName - the name of the resource group where the recovery services vault is present.
    41  // fabricName - fabric name associated with the backed up items.
    42  // containerName - container name associated with the backed up items.
    43  // protectedItemName - backed up item name whose files/folders are to be restored.
    44  // recoveryPointID - recovery point ID which represents backed up data. iSCSI connection will be provisioned
    45  // for this backed up data.
    46  // parameters - resource ILR request
    47  func (client ItemLevelRecoveryConnectionsClient) Provision(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters ILRRequestResource) (result autorest.Response, err error) {
    48  	if tracing.IsEnabled() {
    49  		ctx = tracing.StartSpan(ctx, fqdn+"/ItemLevelRecoveryConnectionsClient.Provision")
    50  		defer func() {
    51  			sc := -1
    52  			if result.Response != nil {
    53  				sc = result.Response.StatusCode
    54  			}
    55  			tracing.EndSpan(ctx, sc, err)
    56  		}()
    57  	}
    58  	req, err := client.ProvisionPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID, parameters)
    59  	if err != nil {
    60  		err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Provision", nil, "Failure preparing request")
    61  		return
    62  	}
    63  
    64  	resp, err := client.ProvisionSender(req)
    65  	if err != nil {
    66  		result.Response = resp
    67  		err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Provision", resp, "Failure sending request")
    68  		return
    69  	}
    70  
    71  	result, err = client.ProvisionResponder(resp)
    72  	if err != nil {
    73  		err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Provision", resp, "Failure responding to request")
    74  		return
    75  	}
    76  
    77  	return
    78  }
    79  
    80  // ProvisionPreparer prepares the Provision request.
    81  func (client ItemLevelRecoveryConnectionsClient) ProvisionPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters ILRRequestResource) (*http.Request, error) {
    82  	pathParameters := map[string]interface{}{
    83  		"containerName":     autorest.Encode("path", containerName),
    84  		"fabricName":        autorest.Encode("path", fabricName),
    85  		"protectedItemName": autorest.Encode("path", protectedItemName),
    86  		"recoveryPointId":   autorest.Encode("path", recoveryPointID),
    87  		"resourceGroupName": autorest.Encode("path", resourceGroupName),
    88  		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
    89  		"vaultName":         autorest.Encode("path", vaultName),
    90  	}
    91  
    92  	const APIVersion = "2021-01-01"
    93  	queryParameters := map[string]interface{}{
    94  		"api-version": APIVersion,
    95  	}
    96  
    97  	preparer := autorest.CreatePreparer(
    98  		autorest.AsContentType("application/json; charset=utf-8"),
    99  		autorest.AsPost(),
   100  		autorest.WithBaseURL(client.BaseURI),
   101  		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery", pathParameters),
   102  		autorest.WithJSON(parameters),
   103  		autorest.WithQueryParameters(queryParameters))
   104  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   105  }
   106  
   107  // ProvisionSender sends the Provision request. The method will close the
   108  // http.Response Body if it receives an error.
   109  func (client ItemLevelRecoveryConnectionsClient) ProvisionSender(req *http.Request) (*http.Response, error) {
   110  	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
   111  }
   112  
   113  // ProvisionResponder handles the response to the Provision request. The method always
   114  // closes the http.Response Body.
   115  func (client ItemLevelRecoveryConnectionsClient) ProvisionResponder(resp *http.Response) (result autorest.Response, err error) {
   116  	err = autorest.Respond(
   117  		resp,
   118  		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
   119  		autorest.ByClosing())
   120  	result.Response = resp
   121  	return
   122  }
   123  
   124  // Revoke revokes an iSCSI connection which can be used to download a script. Executing this script opens a file
   125  // explorer
   126  // displaying all recoverable files and folders. This is an asynchronous operation.
   127  // Parameters:
   128  // vaultName - the name of the recovery services vault.
   129  // resourceGroupName - the name of the resource group where the recovery services vault is present.
   130  // fabricName - fabric name associated with the backed up items.
   131  // containerName - container name associated with the backed up items.
   132  // protectedItemName - backed up item name whose files/folders are to be restored.
   133  // recoveryPointID - recovery point ID which represents backed up data. iSCSI connection will be revoked for
   134  // this backed up data.
   135  func (client ItemLevelRecoveryConnectionsClient) Revoke(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (result autorest.Response, err error) {
   136  	if tracing.IsEnabled() {
   137  		ctx = tracing.StartSpan(ctx, fqdn+"/ItemLevelRecoveryConnectionsClient.Revoke")
   138  		defer func() {
   139  			sc := -1
   140  			if result.Response != nil {
   141  				sc = result.Response.StatusCode
   142  			}
   143  			tracing.EndSpan(ctx, sc, err)
   144  		}()
   145  	}
   146  	req, err := client.RevokePreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID)
   147  	if err != nil {
   148  		err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Revoke", nil, "Failure preparing request")
   149  		return
   150  	}
   151  
   152  	resp, err := client.RevokeSender(req)
   153  	if err != nil {
   154  		result.Response = resp
   155  		err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Revoke", resp, "Failure sending request")
   156  		return
   157  	}
   158  
   159  	result, err = client.RevokeResponder(resp)
   160  	if err != nil {
   161  		err = autorest.NewErrorWithError(err, "backup.ItemLevelRecoveryConnectionsClient", "Revoke", resp, "Failure responding to request")
   162  		return
   163  	}
   164  
   165  	return
   166  }
   167  
   168  // RevokePreparer prepares the Revoke request.
   169  func (client ItemLevelRecoveryConnectionsClient) RevokePreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (*http.Request, error) {
   170  	pathParameters := map[string]interface{}{
   171  		"containerName":     autorest.Encode("path", containerName),
   172  		"fabricName":        autorest.Encode("path", fabricName),
   173  		"protectedItemName": autorest.Encode("path", protectedItemName),
   174  		"recoveryPointId":   autorest.Encode("path", recoveryPointID),
   175  		"resourceGroupName": autorest.Encode("path", resourceGroupName),
   176  		"subscriptionId":    autorest.Encode("path", client.SubscriptionID),
   177  		"vaultName":         autorest.Encode("path", vaultName),
   178  	}
   179  
   180  	const APIVersion = "2021-01-01"
   181  	queryParameters := map[string]interface{}{
   182  		"api-version": APIVersion,
   183  	}
   184  
   185  	preparer := autorest.CreatePreparer(
   186  		autorest.AsPost(),
   187  		autorest.WithBaseURL(client.BaseURI),
   188  		autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery", pathParameters),
   189  		autorest.WithQueryParameters(queryParameters))
   190  	return preparer.Prepare((&http.Request{}).WithContext(ctx))
   191  }
   192  
   193  // RevokeSender sends the Revoke request. The method will close the
   194  // http.Response Body if it receives an error.
   195  func (client ItemLevelRecoveryConnectionsClient) RevokeSender(req *http.Request) (*http.Response, error) {
   196  	return client.Send(req, azure.DoRetryWithRegistration(client.Client))
   197  }
   198  
   199  // RevokeResponder handles the response to the Revoke request. The method always
   200  // closes the http.Response Body.
   201  func (client ItemLevelRecoveryConnectionsClient) RevokeResponder(resp *http.Response) (result autorest.Response, err error) {
   202  	err = autorest.Respond(
   203  		resp,
   204  		azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
   205  		autorest.ByClosing())
   206  	result.Response = resp
   207  	return
   208  }
   209  

View as plain text