public DataLakeStoreAccount UpdateAccount(
            string resourceGroupName,
            string accountName,
            string defaultGroup,
            TrustedIdProviderState providerState,
            FirewallState firewallState,
            FirewallAllowAzureIpsState azureIpState,
            Hashtable customTags = null,
            TierType?tier        = null,
            UpdateEncryptionConfig userConfig = null)
        {
            if (string.IsNullOrEmpty(resourceGroupName))
            {
                resourceGroupName = GetResourceGroupByAccount(accountName);
            }

            var tags = TagsConversionHelper.CreateTagDictionary(customTags, true);

            var parameters = new UpdateDataLakeStoreAccountParameters
            {
                DefaultGroup           = defaultGroup,
                Tags                   = tags ?? new Dictionary <string, string>(),
                TrustedIdProviderState = providerState,
                FirewallState          = firewallState,
                FirewallAllowAzureIps  = azureIpState,
                EncryptionConfig       = userConfig
            };

            if (tier.HasValue)
            {
                parameters.NewTier = tier;
            }

            var toReturn = _client.Accounts.Update(resourceGroupName, accountName, parameters);

            return(toReturn);
        }
 /// <summary>
 /// Updates the specified Data Lake Store account information.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the Azure resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the Data Lake Store account.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to update the Data Lake Store account.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <DataLakeStoreAccount> BeginUpdateAsync(this IAccountsOperations operations, string resourceGroupName, string accountName, UpdateDataLakeStoreAccountParameters parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.BeginUpdateWithHttpMessagesAsync(resourceGroupName, accountName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Updates the specified Data Lake Store account information.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the Azure resource group.
 /// </param>
 /// <param name='accountName'>
 /// The name of the Data Lake Store account.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to update the Data Lake Store account.
 /// </param>
 public static DataLakeStoreAccount BeginUpdate(this IAccountsOperations operations, string resourceGroupName, string accountName, UpdateDataLakeStoreAccountParameters parameters)
 {
     return(operations.BeginUpdateAsync(resourceGroupName, accountName, parameters).GetAwaiter().GetResult());
 }