/// <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', 'southeastasia', 'eastus2',
 /// 'westcentralus', 'westus2', 'eastus', 'southcentralus', 'northeurope',
 /// 'eastasia', 'australiaeast', 'brazilsouth', 'virginia'
 /// </param>
 /// <param name='azureCloud'>
 /// Supported Azure Clouds for Cognitive Services endpoints. Possible values
 /// include: 'com', 'us'
 /// </param>
 /// <param name='appId'>
 /// The application ID.
 /// </param>
 /// <param name='versionId'>
 /// The version ID.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <EnqueueTrainingResponse> TrainVersionAsync(this ITrain operations, AzureRegions azureRegion, AzureClouds azureCloud, System.Guid appId, string versionId, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.TrainVersionWithHttpMessagesAsync(azureRegion, azureCloud, appId, versionId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }