public async Task MoveResources() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync().ConfigureAwait(false); var rg1Op = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, Recording.GenerateAssetName("testrg"), new ResourceGroupData(AzureLocation.WestUS2)); var rg2Op = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, Recording.GenerateAssetName("testrg"), new ResourceGroupData(AzureLocation.WestUS2)); ResourceGroupResource rg1 = rg1Op.Value; ResourceGroupResource rg2 = rg2Op.Value; var genericResources = subscription.GetGenericResourcesAsync(); var aset = await CreateGenericAvailabilitySetAsync(rg1.Id); int countRg1 = await GetResourceCountAsync(rg1.GetGenericResourcesAsync()); int countRg2 = await GetResourceCountAsync(rg2.GetGenericResourcesAsync()); Assert.AreEqual(1, countRg1); Assert.AreEqual(0, countRg2); var moveInfo = new ResourcesMoveContent(); moveInfo.TargetResourceGroup = rg2.Id; moveInfo.Resources.Add(aset.Id); _ = await rg1.MoveResourcesAsync(WaitUntil.Completed, moveInfo); countRg1 = await GetResourceCountAsync(rg1.GetGenericResourcesAsync()); countRg2 = await GetResourceCountAsync(rg2.GetGenericResourcesAsync()); Assert.AreEqual(0, countRg1); Assert.AreEqual(1, countRg2); Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await rg1.MoveResourcesAsync(WaitUntil.Completed, null)); }
public async Task StartValidateMoveResources() { SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync().ConfigureAwait(false); var rg1Op = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, Recording.GenerateAssetName("testrg"), new ResourceGroupData(AzureLocation.WestUS2)); var rg2Op = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, Recording.GenerateAssetName("testrg"), new ResourceGroupData(AzureLocation.WestUS2)); ResourceGroupResource rg1 = rg1Op.Value; ResourceGroupResource rg2 = rg2Op.Value; var asetOp = await StartCreateGenericAvailabilitySetAsync(rg1.Id); GenericResource aset = await asetOp.WaitForCompletionAsync(); var moveInfo = new ResourcesMoveContent(); moveInfo.TargetResourceGroup = rg2.Id; moveInfo.Resources.Add(aset.Id); var validateOp = await rg1.ValidateMoveResourcesAsync(WaitUntil.Started, moveInfo); Response response = await validateOp.WaitForCompletionResponseAsync(); Assert.AreEqual(204, response.Status); Assert.ThrowsAsync <ArgumentNullException>(async() => { var moveOp = await rg1.ValidateMoveResourcesAsync(WaitUntil.Started, null); _ = await moveOp.WaitForCompletionResponseAsync(); }); }
public virtual ArmOperation ValidateMoveResources(WaitUntil waitUntil, ResourcesMoveContent content, CancellationToken cancellationToken = default) { Argument.AssertNotNull(content, nameof(content)); using var scope = _resourceGroupClientDiagnostics.CreateScope("ResourceGroupResource.ValidateMoveResources"); scope.Start(); try { var response = _resourceGroupRestClient.ValidateMoveResources(Id.SubscriptionId, Id.ResourceGroupName, content, cancellationToken); var operation = new ResourcesArmOperation(_resourceGroupClientDiagnostics, Pipeline, _resourceGroupRestClient.CreateValidateMoveResourcesRequest(Id.SubscriptionId, Id.ResourceGroupName, content).Request, response, OperationFinalStateVia.Location); if (waitUntil == WaitUntil.Completed) { operation.WaitForCompletionResponse(cancellationToken); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }