/// <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 CreateOrUpdate(this IUsersOperations operations, string deviceName, string name, string resourceGroupName, AsymmetricEncryptedSecret encryptedPassword = default(AsymmetricEncryptedSecret), IList <ShareAccessRight> shareAccessRights = default(IList <ShareAccessRight>))
 {
     return(operations.CreateOrUpdateAsync(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 CreateOrUpdate(this IUsersOperations operations, string deviceName, string name, User user, string resourceGroupName)
 {
     return(operations.CreateOrUpdateAsync(deviceName, name, user, resourceGroupName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Create or replace an existing User.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='labAccountName'>
 /// The name of the lab Account.
 /// </param>
 /// <param name='labName'>
 /// The name of the lab.
 /// </param>
 /// <param name='userName'>
 /// The name of the user.
 /// </param>
 /// <param name='user'>
 /// The User registered to a lab
 /// </param>
 public static User CreateOrUpdate(this IUsersOperations operations, string resourceGroupName, string labAccountName, string labName, string userName, User user)
 {
     return(operations.CreateOrUpdateAsync(resourceGroupName, labAccountName, labName, userName, user).GetAwaiter().GetResult());
 }