/// <summary> /// Get all outputs from runbook (all Write-Output and/or Write-Error/exceptions from output) /// Default: Return every type of output (error and output text). Each write-output will be appended with html break tag to support line break /// </summary> /// <param name="jobStreams">JobStream from runbook</param> /// <param name="jobOuputType">Select to only return output, only error or all (default)</param> /// <param name="toHTML">Appends html break tag at the end of line, otherwise a new line control string character</param> /// <returns></returns> public string GetJobOutputs(IPage <JobStream> jobStreams, JobOuputType jobOuputType = JobOuputType.All, bool?toHTML = true) { StringBuilder sb = new StringBuilder(); foreach (JobStream output in jobStreams) { switch (jobOuputType) { case JobOuputType.OnlyOutput: if (output.StreamType == StreamType.Output) { sb.Append(GetJobOutput(output, toHTML)); } break; case JobOuputType.OnlyError: if (output.StreamType == StreamType.Error) { sb.Append(GetJobOutput(output, toHTML)); } break; case JobOuputType.All: sb.Append(GetJobOutput(output, toHTML)); break; default: sb.Append(GetJobOutput(output, toHTML)); break; } } return(sb.ToString()); }
/// <summary> /// Get all outputs from runbook (all Write-Output and/or Write-Error/exceptions from output) /// Default: Return every type of output (error and output text). Each write-output will be appended with html break tag to support line break /// </summary> /// <param name="jobStreams">JobStream from runbook</param> /// <param name="jobOuputType">Select to only return output, only error or all (default)</param> /// <param name="toHTML">Appends html break tag at the end of line, otherwise a new line control string character</param> /// <returns></returns> private async Task <string> GetJobOutputs(string resourceGroupName, string automationAccountName, IPage <JobStream> jobStreams, Job job, JobOuputType jobOuputType = JobOuputType.All, bool?toHTML = true) { StringBuilder sb = new StringBuilder(); foreach (JobStream output in jobStreams) { switch (jobOuputType) { case JobOuputType.OnlyOutput: if (output.StreamType == StreamType.Output) { sb.Append(await GetJobOutput(resourceGroupName, automationAccountName, output, job, toHTML)); } break; case JobOuputType.OnlyError: if (output.StreamType == StreamType.Error) { sb.Append(await GetJobOutput(resourceGroupName, automationAccountName, output, job, toHTML)); } break; case JobOuputType.All: sb.Append(await GetJobOutput(resourceGroupName, automationAccountName, output, job, toHTML)); break; default: sb.Append(await GetJobOutput(resourceGroupName, automationAccountName, output, job, toHTML)); break; } } return(sb.ToString()); }