/// <summary>
 /// Invite a user to a lab.
 /// </summary>
 /// <remarks>
 /// Operation to invite a user to a lab.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='body'>
 /// The request body.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group. The name is case insensitive.
 /// </param>
 /// <param name='labName'>
 /// The name of the lab that uniquely identifies it within containing lab
 /// account. Used in resource URIs.
 /// </param>
 /// <param name='userName'>
 /// The name of the user that uniquely identifies it within containing lab.
 /// Used in resource URIs.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task InviteAsync(this IUsersOperations operations, InviteBody body, string resourceGroupName, string labName, string userName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.InviteWithHttpMessagesAsync(body, resourceGroupName, labName, userName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }