/// <summary> /// Retrieve the runbook identified by runbook name. (see /// http://aka.ms/azureautomationsdk/runbookdraftoperations for more /// information) /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Automation.IRunbookDraftOperations. /// </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 parameters supplied to the publish runbook operation. /// </param> /// <returns> /// A standard service response for long running operations. /// </returns> public static LongRunningOperationResultResponse BeginPublish(this IRunbookDraftOperations operations, string resourceGroupName, string automationAccount, RunbookDraftPublishParameters parameters) { return Task.Factory.StartNew((object s) => { return ((IRunbookDraftOperations)s).BeginPublishAsync(resourceGroupName, automationAccount, parameters); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); }
public static async Task<LongRunningOperationResultResponse> PublishRunbook(AutomationRunbook runbook, AutomationManagementClient automationManagementClient, string resourceGroupName, string accountName) { RunbookDraftPublishParameters publishParams = new RunbookDraftPublishParameters { Name = runbook.Name, PublishedBy = "ISE User: " + System.Security.Principal.WindowsIdentity.GetCurrent().Name }; LongRunningOperationResultResponse resultResponse = await automationManagementClient.RunbookDraft.PublishAsync(resourceGroupName, accountName, publishParams); return resultResponse; }
/// <summary> /// Retrieve the runbook identified by runbook name. (see /// http://aka.ms/azureautomationsdk/runbookdraftoperations for more /// information) /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.Automation.IRunbookDraftOperations. /// </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 parameters supplied to the publish runbook operation. /// </param> /// <returns> /// A standard service response for long running operations. /// </returns> public static Task<LongRunningOperationResultResponse> BeginPublishAsync(this IRunbookDraftOperations operations, string resourceGroupName, string automationAccount, RunbookDraftPublishParameters parameters) { return operations.BeginPublishAsync(resourceGroupName, automationAccount, parameters, CancellationToken.None); }
public static async Task<LongRunningOperationResultResponse> PublishRunbook(AutomationRunbook runbook, AutomationManagementClient automationManagementClient, string resourceGroupName, string accountName) { RunbookDraftPublishParameters publishParams = new RunbookDraftPublishParameters { Name = runbook.Name, PublishedBy = "ISE User: " + System.Security.Principal.WindowsIdentity.GetCurrent().Name }; CancellationTokenSource cts = new CancellationTokenSource(); cts.CancelAfter(TIMEOUT_MS); LongRunningOperationResultResponse resultResponse = await automationManagementClient.RunbookDraft.PublishAsync(resourceGroupName, accountName, publishParams, cts.Token); /* Ensure the correct sync status is detected */ if (runbook.localFileInfo != null) { cts = new CancellationTokenSource(); cts.CancelAfter(TIMEOUT_MS); RunbookGetResponse response = await automationManagementClient.Runbooks.GetAsync(resourceGroupName, accountName, runbook.Name, cts.Token); runbook.localFileInfo.LastWriteTime = response.Runbook.Properties.LastModifiedTime.LocalDateTime; runbook.LastModifiedLocal = response.Runbook.Properties.LastModifiedTime.LocalDateTime; runbook.LastModifiedCloud = response.Runbook.Properties.LastModifiedTime.LocalDateTime; } /* Return the publish response */ return resultResponse; }
public async Task<bool> CheckIn(RunbookModelProxy runbook) { RunbookDraftPublishParameters publishParams = new RunbookDraftPublishParameters { Name = runbook.RunbookName, PublishedBy = "Automation Studio, by: " + System.Security.Principal.WindowsIdentity.GetCurrent().Name }; CancellationTokenSource cts = new CancellationTokenSource(); cts.CancelAfter(TIMEOUT_MS); LongRunningOperationResultResponse resultResponse = await _client.RunbookDraft.PublishAsync(_connectionData.AzureRMGroupName, _connectionData.AzureAutomationAccount, publishParams, cts.Token); // Move the draft to published runbook.PublishedRunbookVersionID = runbook.DraftRunbookVersionID; runbook.DraftRunbookVersionID = null; return true; }