public async Task Update() { var vmssName = Recording.GenerateAssetName("testVMSS-"); var vmss = await CreateVirtualMachineScaleSetAsync(vmssName); // Create a PPG here and add this PPG to this virtual machine using Update var ppgName = Recording.GenerateAssetName("testPPG-"); var ppgData = new ProximityPlacementGroupData(DefaultLocation) { }; var ppgLro = await _resourceGroup.GetProximityPlacementGroups().CreateOrUpdateAsync(WaitUntil.Completed, ppgName, ppgData); ProximityPlacementGroupResource ppg = ppgLro.Value; // update PPG requires the VM to be deallocated await vmss.DeallocateAsync(WaitUntil.Completed); var update = new PatchableVirtualMachineScaleSetData() { ProximityPlacementGroup = new WritableSubResource() { Id = ppg.Id } }; var lro = await vmss.UpdateAsync(WaitUntil.Completed, update); VirtualMachineScaleSetResource updatedVM = lro.Value; Assert.AreEqual(ppg.Id, updatedVM.Data.ProximityPlacementGroup.Id); }
public async Task PlacementGroupId() { var asetName = Recording.GenerateAssetName("aset-"); AvailabilitySetResource aset = await CreateAvailabilitySetAsync(asetName); var beforeAdd = aset.Data.ProximityPlacementGroupId; ResourceGroupResource rg = Client.GetResourceGroupResource(ResourceGroupResource.CreateResourceIdentifier(aset.Id.SubscriptionId, aset.Id.ResourceGroupName)); var proxGrpName = Recording.GenerateAssetName("proxGrp-"); ProximityPlacementGroupResource proxGrp = (await rg.GetProximityPlacementGroups().CreateOrUpdateAsync(WaitUntil.Completed, proxGrpName, new ProximityPlacementGroupData(DefaultLocation))).Value; AvailabilitySetPatch updateOptions = new AvailabilitySetPatch(); updateOptions.ProximityPlacementGroupId = proxGrp.Id; aset = await aset.UpdateAsync(updateOptions); var addIdResult = aset.Data.ProximityPlacementGroupId; updateOptions.ProximityPlacementGroupId = null; aset = await aset.UpdateAsync(updateOptions); var removeIdResult = aset.Data.ProximityPlacementGroupId; var asetName2 = Recording.GenerateAssetName("aset-"); AvailabilitySetResource aset2 = await CreateAvailabilitySetAsync(asetName2); var newBeforeAdd = aset2.Data.ProximityPlacementGroup?.Id; AvailabilitySetPatch updateOptions2 = new AvailabilitySetPatch(); updateOptions2.ProximityPlacementGroup = new Resources.Models.WritableSubResource(); updateOptions2.ProximityPlacementGroup.Id = proxGrp.Id; aset2 = await aset2.UpdateAsync(updateOptions2); var newAddIdResult = aset2.Data.ProximityPlacementGroup.Id; updateOptions2.ProximityPlacementGroup.Id = null; aset2 = await aset2.UpdateAsync(updateOptions2); var newRemoveIdResult = aset2.Data.ProximityPlacementGroup?.Id; updateOptions2.ProximityPlacementGroup.Id = proxGrp.Id; aset2 = await aset2.UpdateAsync(updateOptions2); Assert.NotNull(aset2.Data.ProximityPlacementGroup.Id); updateOptions2.ProximityPlacementGroup = null; aset2 = await aset2.UpdateAsync(updateOptions2); var newRemoveOuterIdResult = aset2.Data.ProximityPlacementGroup?.Id; Assert.AreEqual(beforeAdd, newBeforeAdd); Assert.AreEqual(addIdResult, newAddIdResult); Assert.AreEqual(removeIdResult, newRemoveIdResult); Assert.AreEqual(removeIdResult, newRemoveOuterIdResult); }