/// <summary>
 /// Long running put request, service returns a 500, then a 201 to the initial
 /// request, with an entity that contains ProvisioningState=’Creating’.  Polls
 /// return this value until the last poll returns a ‘200’ with
 /// ProvisioningState=’Succeeded’
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='product'>
 /// Product to put
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Product> Put201CreatingSucceeded200Async(this ILRORetrysOperations operations, Product product = default(Product), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.Put201CreatingSucceeded200WithHttpMessagesAsync(product, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }