/// <summary>
 /// Sends a training request for a version of a specified LUIS app. This POST
 /// request initiates a request asynchronously. To determine whether the
 /// training request is successful, submit a GET request to get training
 /// status. Note: The application version is not fully trained unless all the
 /// models (intents and entities) are trained successfully or are up to date.
 /// To verify training success, get the training status at least once after
 /// training is complete.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='azureRegion'>
 /// Supported Azure regions for Cognitive Services endpoints. Possible values
 /// include: 'westus', 'westeurope'
 /// </param>
 /// <param name='appId'>
 /// Format - guid. The application ID.
 /// </param>
 /// <param name='versionId'>
 /// The version ID of the task.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <EnqueueTrainingResponse> TrainApplicationVersionAsync(this ITrain operations, AzureRegions azureRegion, string appId, string versionId, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.TrainApplicationVersionWithHttpMessagesAsync(azureRegion, appId, versionId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }