public async Task CreateOrUpdateMoveResourceAsync() { using (var context = MockContext.Start(this.GetType())) { this.TestHelper.Initialize(context); var client = this.TestHelper.ResourceMoverServiceClient; var vmTargetResourceSettings = new VirtualMachineResourceSettings() { TargetResourceName = "targetVm1", TargetAvailabilityZone = "1" }; // VM redundancy can be set to either availability set or availaiblity zone. // We are moving the VM from availability set to availability zone, // so overriding the availability set dependency of VM to null. var vmDependencyOverrideList = new List <MoveResourceDependencyOverride>() { new MoveResourceDependencyOverride() { Id = AvailabilitySetId, TargetId = null } }; var vmMoveResourceProperties = new MoveResourceProperties() { SourceId = VirtualMachineId, ResourceSettings = vmTargetResourceSettings, DependsOnOverrides = vmDependencyOverrideList }; var moveResource = (await client.MoveResources.CreateWithHttpMessagesAsync( MoveCollectionResourceGroup, MoveCollectionName, VmMoveResourceName, vmMoveResourceProperties)).Body; Assert.True( moveResource.Name == VmMoveResourceName, "Resource name can not be different."); } }
/// <summary> /// Creates or updates a Move Resource in the move collection. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The Resource Group Name. /// </param> /// <param name='moveCollectionName'> /// The Move Collection Name. /// </param> /// <param name='moveResourceName'> /// The Move Resource Name. /// </param> /// <param name='properties'> /// </param> public static MoveResource Create(this IMoveResourcesOperations operations, string resourceGroupName, string moveCollectionName, string moveResourceName, MoveResourceProperties properties = default(MoveResourceProperties)) { return(operations.CreateAsync(resourceGroupName, moveCollectionName, moveResourceName, properties).GetAwaiter().GetResult()); }
/// <summary> /// Creates or updates a Move Resource in the move collection. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The Resource Group Name. /// </param> /// <param name='moveCollectionName'> /// The Move Collection Name. /// </param> /// <param name='moveResourceName'> /// The Move Resource Name. /// </param> /// <param name='properties'> /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <MoveResource> BeginCreateAsync(this IMoveResourcesOperations operations, string resourceGroupName, string moveCollectionName, string moveResourceName, MoveResourceProperties properties = default(MoveResourceProperties), CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginCreateWithHttpMessagesAsync(resourceGroupName, moveCollectionName, moveResourceName, properties, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }