public Module UpdateModule(string automationAccountName, IDictionary <string, string> tags, string name, Uri contentLink) { var existingModule = this.GetModule(automationAccountName, name); var moduleUpdateParameters = new AutomationManagement.Models.ModuleUpdateParameters(); moduleUpdateParameters.Name = name; if (tags != null) { moduleUpdateParameters.Tags = tags; } moduleUpdateParameters.Location = existingModule.Location; moduleUpdateParameters.Properties = new AutomationManagement.Models.ModuleUpdateProperties() { ContentLink = new AutomationManagement.Models.ContentLink() }; if (contentLink != null) { moduleUpdateParameters.Properties.ContentLink.Uri = contentLink; } var updatedModule = this.automationManagementClient.Modules.Update(automationAccountName, moduleUpdateParameters); if (updatedModule == null || updatedModule.StatusCode != HttpStatusCode.OK) { new AzureAutomationOperationException(string.Format(Resources.AutomationOperationFailed, "Update", "Module", name, automationAccountName)); } return(new Module(automationAccountName, updatedModule.Module)); }
public Module UpdateModule(string automationAccountName, IDictionary tags, string name, Uri contentLinkUri, string contentLinkVersion) { var moduleModel = this.automationManagementClient.Modules.Get(automationAccountName, name).Module; if(tags != null && contentLinkUri != null) { var moduleCreateParameters = new AutomationManagement.Models.ModuleCreateParameters(); moduleCreateParameters.Name = name; moduleCreateParameters.Tags = tags.Cast<DictionaryEntry>().ToDictionary(kvp => kvp.Key.ToString(), kvp => kvp.Value.ToString()); moduleCreateParameters.Properties = new ModuleCreateProperties(); moduleCreateParameters.Properties.ContentLink = new AutomationManagement.Models.ContentLink(); moduleCreateParameters.Properties.ContentLink.Uri = contentLinkUri; moduleCreateParameters.Properties.ContentLink.Version = (String.IsNullOrWhiteSpace(contentLinkVersion)) ? Guid.NewGuid().ToString() : contentLinkVersion; this.automationManagementClient.Modules.Create(automationAccountName, moduleCreateParameters); } else if (contentLinkUri != null) { var moduleUpdateParameters = new AutomationManagement.Models.ModuleUpdateParameters(); moduleUpdateParameters.Name = name; moduleUpdateParameters.Properties = new ModuleUpdateProperties(); moduleUpdateParameters.Properties.ContentLink = new AutomationManagement.Models.ContentLink(); moduleUpdateParameters.Properties.ContentLink.Uri = contentLinkUri; moduleUpdateParameters.Properties.ContentLink.Version = (String.IsNullOrWhiteSpace(contentLinkVersion)) ? Guid.NewGuid().ToString() : contentLinkVersion; moduleUpdateParameters.Tags = moduleModel.Tags; this.automationManagementClient.Modules.Update(automationAccountName, moduleUpdateParameters); } else if(tags != null) { var moduleUpdateParameters = new AutomationManagement.Models.ModuleUpdateParameters(); moduleUpdateParameters.Name = name; moduleUpdateParameters.Tags = tags.Cast<DictionaryEntry>().ToDictionary(kvp => kvp.Key.ToString(), kvp => kvp.Value.ToString()); moduleUpdateParameters.Properties = new ModuleUpdateProperties(); this.automationManagementClient.Modules.Update(automationAccountName, moduleUpdateParameters); } var updatedModule = this.automationManagementClient.Modules.Get(automationAccountName, name).Module; return new Module(automationAccountName, updatedModule); }