/// <summary>
 /// Creates a new user or updates an existing user's information on a data box
 /// edge/gateway device.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='deviceName'>
 /// The device name.
 /// </param>
 /// <param name='name'>
 /// The user name.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name.
 /// </param>
 /// <param name='encryptedPassword'>
 /// The password details.
 /// </param>
 /// <param name='shareAccessRights'>
 /// List of shares that the user has rights on. This field should not be
 /// specified during user creation.
 /// </param>
 public static User BeginCreateOrUpdate(this IUsersOperations operations, string deviceName, string name, string resourceGroupName, AsymmetricEncryptedSecret encryptedPassword = default(AsymmetricEncryptedSecret), IList <ShareAccessRight> shareAccessRights = default(IList <ShareAccessRight>))
 {
     return(operations.BeginCreateOrUpdateAsync(deviceName, name, resourceGroupName, encryptedPassword, shareAccessRights).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Creates a new user or updates an existing user's information on a Data Box
 /// Edge/Data Box Gateway device.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='deviceName'>
 /// The device name.
 /// </param>
 /// <param name='name'>
 /// The user name.
 /// </param>
 /// <param name='user'>
 /// The user details.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name.
 /// </param>
 public static User BeginCreateOrUpdate(this IUsersOperations operations, string deviceName, string name, User user, string resourceGroupName)
 {
     return(operations.BeginCreateOrUpdateAsync(deviceName, name, user, resourceGroupName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Create or update a lab user.
 /// </summary>
 /// <remarks>
 /// Operation to create or update a lab user.
 /// </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>
 public static User BeginCreateOrUpdate(this IUsersOperations operations, User body, string resourceGroupName, string labName, string userName)
 {
     return(operations.BeginCreateOrUpdateAsync(body, resourceGroupName, labName, userName).GetAwaiter().GetResult());
 }