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);
        }
コード例 #2
0
        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);
        }