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