private static async Task UploadModuleToAutomationAccount(String moduleName, AutomationManagementClient automationManagementClient, string resourceGroupName, AutomationAccount account, String URIString) { ModuleCreateOrUpdateParameters draftUpdateParams = new ModuleCreateOrUpdateParameters() { Name = moduleName, Location = account.Location, Properties = new ModuleCreateOrUpdateProperties() { ContentLink = new Microsoft.Azure.Management.Automation.Models.ContentLink() { Uri = new Uri(URIString) } } }; var cts = new CancellationTokenSource(); cts.CancelAfter(TIMEOUT_MS); await automationManagementClient.Modules.CreateOrUpdateAsync(resourceGroupName, account.Name, draftUpdateParams, cts.Token); Module module = await GetModule(moduleName, automationManagementClient, resourceGroupName, account.Name); // Wait for upload to complete while (module.Properties.ProvisioningState != ModuleProvisioningState.Failed && module.Properties.ProvisioningState != ModuleProvisioningState.Succeeded) { await Task.Delay(10000); module = await GetModule(moduleName, automationManagementClient, resourceGroupName, account.Name); } // Check if there is an error. if (!(String.IsNullOrEmpty(module.Properties.Error.Message))) { throw new Exception(module.Properties.Error.Message.ToString()); } }
/// <summary> /// Create or Update the module identified by module name. /// <see href="http://aka.ms/azureautomationsdk/moduleoperations" /> /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Name of an Azure Resource group. /// </param> /// <param name='automationAccountName'> /// The name of the automation account. /// </param> /// <param name='moduleName'> /// The name of module. /// </param> /// <param name='parameters'> /// The create or update parameters for module. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <Module> CreateOrUpdateAsync(this IModuleOperations operations, string resourceGroupName, string automationAccountName, string moduleName, ModuleCreateOrUpdateParameters parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, automationAccountName, moduleName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Create or Update the module identified by module name. /// <see href="http://aka.ms/azureautomationsdk/moduleoperations" /> /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Name of an Azure Resource group. /// </param> /// <param name='automationAccountName'> /// The name of the automation account. /// </param> /// <param name='moduleName'> /// The name of module. /// </param> /// <param name='parameters'> /// The create or update parameters for module. /// </param> public static Module CreateOrUpdate(this IModuleOperations operations, string resourceGroupName, string automationAccountName, string moduleName, ModuleCreateOrUpdateParameters parameters) { return(operations.CreateOrUpdateAsync(resourceGroupName, automationAccountName, moduleName, parameters).GetAwaiter().GetResult()); }
/// <summary> /// Create the module identified by module name. (see /// http://aka.ms/azureautomationsdk/moduleoperations for more /// information) /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Automation.IModuleOperations. /// </param> /// <param name='resourceGroupName'> /// Required. The name of the resource group /// </param> /// <param name='automationAccount'> /// Required. The automation account name. /// </param> /// <param name='parameters'> /// Required. The create or update parameters for module. /// </param> /// <returns> /// The response model for the create or update module operation. /// </returns> public static Task <ModuleCreateOrUpdateResponse> CreateOrUpdateAsync(this IModuleOperations operations, string resourceGroupName, string automationAccount, ModuleCreateOrUpdateParameters parameters) { return(operations.CreateOrUpdateAsync(resourceGroupName, automationAccount, parameters, CancellationToken.None)); }
/// <summary> /// Create the module identified by module name. (see /// http://aka.ms/azureautomationsdk/moduleoperations for more /// information) /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Automation.IModuleOperations. /// </param> /// <param name='resourceGroupName'> /// Required. The name of the resource group /// </param> /// <param name='automationAccount'> /// Required. The automation account name. /// </param> /// <param name='parameters'> /// Required. The create or update parameters for module. /// </param> /// <returns> /// The response model for the create or update module operation. /// </returns> public static ModuleCreateOrUpdateResponse CreateOrUpdate(this IModuleOperations operations, string resourceGroupName, string automationAccount, ModuleCreateOrUpdateParameters parameters) { return(Task.Factory.StartNew((object s) => { return ((IModuleOperations)s).CreateOrUpdateAsync(resourceGroupName, automationAccount, parameters); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }