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()); }