コード例 #1
0
        public AutomationAccount UpdateAutomationAccount(string resourceGroupName, string automationAccountName, string plan, IDictionary tags)
        {
            Requires.Argument("ResourceGroupName", resourceGroupName).NotNull();
            Requires.Argument("AutomationAccountName", automationAccountName).NotNull();

            var automationAccount = GetAutomationAccount(resourceGroupName, automationAccountName);

            IDictionary <string, string> accountTags = null;

            if (tags != null)
            {
                accountTags = tags.Cast <DictionaryEntry>()
                              .ToDictionary(kvp => kvp.Key.ToString(), kvp => kvp.Value.ToString());
            }
            else
            {
                accountTags = automationAccount.Tags.Cast <DictionaryEntry>().ToDictionary(kvp => kvp.Key.ToString(), kvp => kvp.Value.ToString());;
            }

            var accountUpdateParameters = new AutomationAccountPatchParameters()
            {
                Name       = automationAccountName,
                Properties = new AutomationAccountPatchProperties()
                {
                    Sku = new Sku()
                    {
                        Name = String.IsNullOrWhiteSpace(plan) ? automationAccount.Plan : plan,
                    }
                },
                Tags = accountTags,
            };

            var account =
                this.automationManagementClient.AutomationAccounts.Patch(resourceGroupName,
                                                                         accountUpdateParameters).AutomationAccount;


            return(new AutomationAccount(resourceGroupName, account));
        }
 /// <summary>
 /// Create an automation account.  (see
 /// http://aka.ms/azureautomationsdk/automationaccountoperations for
 /// more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IAutomationAccountOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the patch automation account.
 /// </param>
 /// <returns>
 /// The response model for the create account operation.
 /// </returns>
 public static Task <AutomationAccountPatchResponse> PatchAsync(this IAutomationAccountOperations operations, string resourceGroupName, AutomationAccountPatchParameters parameters)
 {
     return(operations.PatchAsync(resourceGroupName, parameters, CancellationToken.None));
 }
 /// <summary>
 /// Create an automation account.  (see
 /// http://aka.ms/azureautomationsdk/automationaccountoperations for
 /// more information)
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.Automation.IAutomationAccountOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of the resource group
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the patch automation account.
 /// </param>
 /// <returns>
 /// The response model for the create account operation.
 /// </returns>
 public static AutomationAccountPatchResponse Patch(this IAutomationAccountOperations operations, string resourceGroupName, AutomationAccountPatchParameters parameters)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IAutomationAccountOperations)s).PatchAsync(resourceGroupName, parameters);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }