/// <summary>
 /// Initiates prepare for the set of resources included in the request body.
 /// The prepare operation is on the moveResources that are in the moveState
 /// 'PreparePending' or 'PrepareFailed', on a successful completion the
 /// moveResource moveState do a transition to MovePending. To aid the user to
 /// prerequisite the operation the client can call operation with validateOnly
 /// property set to true.
 /// </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='body'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <OperationStatus> PrepareAsync(this IMoveCollectionsOperations operations, string resourceGroupName, string moveCollectionName, PrepareRequest body = default(PrepareRequest), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PrepareWithHttpMessagesAsync(resourceGroupName, moveCollectionName, body, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }