/// <summary> /// Initializes a new instance of the JobGetHistoryWithFilterParameters /// class with required arguments. /// </summary> public JobGetHistoryWithFilterParameters(JobHistoryStatus status, int skip, int top) : this() { this.Status = status; this.Skip = skip; this.Top = top; }
/// <summary> /// Convert an enum of type JobHistoryStatus to a string. /// </summary> /// <param name='value'> /// The value to convert to a string. /// </param> /// <returns> /// The enum value as a string. /// </returns> internal static string JobHistoryStatusToString(JobHistoryStatus value) { if (value == JobHistoryStatus.Completed) { return("completed"); } if (value == JobHistoryStatus.Failed) { return("failed"); } throw new ArgumentOutOfRangeException("value"); }
public List <PSJobHistory> GetJobHistory(string jobCollection, string job, string region, string jobStatus = "") { if (!this.AvailableRegions.Contains(region, StringComparer.OrdinalIgnoreCase)) { throw new Exception(Resources.SchedulerInvalidLocation); } List <PSJobHistory> lstPSJobHistory = new List <PSJobHistory>(); string cloudService = region.ToCloudServiceName(); CloudServiceGetResponse csDetails = csmClient.CloudServices.Get(cloudService); foreach (CloudServiceGetResponse.Resource csRes in csDetails.Resources) { if (csRes.ResourceProviderNamespace.Equals(Constants.SchedulerRPNameProvider, StringComparison.InvariantCultureIgnoreCase) && csRes.Name.Equals(jobCollection, StringComparison.OrdinalIgnoreCase)) { SchedulerClient schedClient = this.currentSubscription.CreateClient <SchedulerClient>(false, cloudService, jobCollection.Trim(), csmClient.Credentials, schedulerManagementClient.BaseUri); List <JobGetHistoryResponse.JobHistoryEntry> lstHistory = new List <JobGetHistoryResponse.JobHistoryEntry>(); int currentTop = 100; if (string.IsNullOrEmpty(jobStatus)) { JobGetHistoryResponse history = schedClient.Jobs.GetHistory(job.Trim(), new JobGetHistoryParameters { Top = 100 }); lstHistory.AddRange(history.JobHistory); while (history.JobHistory.Count > 99) { history = schedClient.Jobs.GetHistory(job.Trim(), new JobGetHistoryParameters { Top = 100, Skip = currentTop }); currentTop += 100; lstHistory.AddRange(history.JobHistory); } } else if (!string.IsNullOrEmpty(jobStatus)) { JobHistoryStatus status = jobStatus.Equals("Completed") ? JobHistoryStatus.Completed : JobHistoryStatus.Failed; JobGetHistoryResponse history = schedClient.Jobs.GetHistoryWithFilter(job.Trim(), new JobGetHistoryWithFilterParameters { Top = 100, Status = status }); lstHistory.AddRange(history.JobHistory); while (history.JobHistory.Count > 99) { history = schedClient.Jobs.GetHistoryWithFilter(job.Trim(), new JobGetHistoryWithFilterParameters { Top = 100, Skip = currentTop }); currentTop += 100; lstHistory.AddRange(history.JobHistory); } } foreach (JobGetHistoryResponse.JobHistoryEntry entry in lstHistory) { PSJobHistory historyObj = new PSJobHistory(); historyObj.Status = entry.Status.ToString(); historyObj.StartTime = entry.StartTime; historyObj.EndTime = entry.EndTime; historyObj.JobName = entry.Id; historyObj.Details = GetHistoryDetails(entry.Message); historyObj.Retry = entry.RetryCount; historyObj.Occurence = entry.RepeatCount; if (JobHistoryActionName.ErrorAction == entry.ActionName) { PSJobHistoryError errorObj = historyObj.ToJobHistoryError(); errorObj.ErrorAction = JobHistoryActionName.ErrorAction.ToString(); lstPSJobHistory.Add(errorObj); } else { lstPSJobHistory.Add(historyObj); } } } } return(lstPSJobHistory); }
/// <summary> /// Initializes a new instance of the JobGetHistoryWithFilterParameters /// class with required arguments. /// </summary> public JobGetHistoryWithFilterParameters(JobHistoryStatus status) : this() { this.Status = status; }