/// <summary> /// Method to delete resource guard proxy. /// </summary> /// <param name="vaultName"></param> /// <param name="resourceGroupName"></param> /// <param name="resourceGuardProxyName"></param> /// <param name="auxiliaryAccessToken"></param> /// <returns></returns> public RestAzureNS.AzureOperationResponse DeleteResourceGuardMapping(string vaultName, string resourceGroupName, string resourceGuardProxyName, string auxiliaryAccessToken) { Dictionary <string, List <string> > customHeaders = new Dictionary <string, List <string> >(); string operationRequest = null; if (auxiliaryAccessToken != null && auxiliaryAccessToken != "") { customHeaders.Add("x-ms-authorization-auxiliary", new List <string> { "Bearer " + auxiliaryAccessToken }); } // unlock UnlockDeleteRequest unlockDeleteRequest = new UnlockDeleteRequest(); List <ResourceGuardProxyBaseResource> resourceGuardMapping = ListResourceGuardMapping(vaultName, resourceGroupName); if (resourceGuardMapping != null && resourceGuardMapping.Count != 0) { foreach (ResourceGuardOperationDetail operationDetail in resourceGuardMapping[0].Properties.ResourceGuardOperationDetails) { if (operationDetail.VaultCriticalOperation == "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies/delete") { operationRequest = operationDetail.DefaultResourceRequest; } } if (operationRequest != null) { unlockDeleteRequest.ResourceGuardOperationRequests = new List <string>(); unlockDeleteRequest.ResourceGuardOperationRequests.Add(operationRequest); UnlockDeleteResponse unlockDeleteResponse = BmsAdapter.Client.ResourceGuardProxy.UnlockDeleteWithHttpMessagesAsync(vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName(), resourceGuardProxyName, unlockDeleteRequest, customHeaders).Result.Body; } } else if (auxiliaryAccessToken != null && auxiliaryAccessToken != "") { throw new ArgumentException(String.Format(Resources.ResourceGuardMappingNotFound)); } return(BmsAdapter.Client.ResourceGuardProxy.DeleteWithHttpMessagesAsync(vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName(), resourceGuardProxyName).Result); }
/// <summary> /// Deletes a protected item /// </summary> /// <param name="containerName">Name of the container which this item belongs to</param> /// <param name="protectedItemName">Name of the item</param> /// <param name="vaultName"></param> /// <param name="resourceGroupName"></param> /// <param name="auxiliaryAccessToken"></param> /// <param name="protectedItemUri"></param> /// <returns>Job created in the service for this operation</returns> public RestAzureNS.AzureOperationResponse DeleteProtectedItem( string containerName, string protectedItemName, string vaultName = null, string resourceGroupName = null, string auxiliaryAccessToken = null, string protectedItemUri = null) { Dictionary <string, List <string> > customHeaders = new Dictionary <string, List <string> >(); if (auxiliaryAccessToken != null && auxiliaryAccessToken != "") { customHeaders.Add("x-ms-authorization-auxiliary", new List <string> { "Bearer " + auxiliaryAccessToken }); } string operationRequest = null; // unlock UnlockDeleteRequest unlockDeleteRequest = new UnlockDeleteRequest(); List <ResourceGuardProxyBaseResource> resourceGuardMapping = ListResourceGuardMapping(vaultName, resourceGroupName); if (resourceGuardMapping != null && resourceGuardMapping.Count != 0) { foreach (ResourceGuardOperationDetail operationDetail in resourceGuardMapping[0].Properties.ResourceGuardOperationDetails) { if (operationDetail.VaultCriticalOperation == "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/delete") { operationRequest = operationDetail.DefaultResourceRequest; } } if (operationRequest != null) { unlockDeleteRequest.ResourceGuardOperationRequests = new List <string>(); unlockDeleteRequest.ResourceGuardOperationRequests.Add(operationRequest); if (protectedItemUri == null) { throw new ArgumentException(String.Format(Resources.ProtectedItemURICantBeNull)); } unlockDeleteRequest.ResourceToBeDeleted = protectedItemUri; UnlockDeleteResponse unlockDeleteResponse = BmsAdapter.Client.ResourceGuardProxy.UnlockDeleteWithHttpMessagesAsync(vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName(), resourceGuardMapping[0].Name, unlockDeleteRequest, customHeaders).Result.Body; } else if (auxiliaryAccessToken != null && auxiliaryAccessToken != "") { throw new ArgumentException(String.Format(Resources.UnexpectedParameterToken, "Delete protection with DeleteBackupData")); } } else if (auxiliaryAccessToken != null && auxiliaryAccessToken != "") { throw new ArgumentException(String.Format(Resources.UnexpectedParameterToken, "Delete protection with DeleteBackupData")); } return(BmsAdapter.Client.ProtectedItems.DeleteWithHttpMessagesAsync( vaultName ?? BmsAdapter.GetResourceName(), resourceGroupName ?? BmsAdapter.GetResourceGroupName(), AzureFabricName, containerName, protectedItemName, cancellationToken: BmsAdapter.CmdletCancellationToken).Result); }