using GitHub.Services.WebApi; using System; using System.Collections.Generic; using System.Runtime.Serialization; namespace GitHub.DistributedTask.WebApi { [DataContract] public class TaskAgentPoolMaintenanceJob { internal TaskAgentPoolMaintenanceJob() { } /// /// Id of the maintenance job /// [DataMember] public Int32 JobId { get; internal set; } /// /// Pool reference for the maintenance job /// [DataMember(EmitDefaultValue = false)] public TaskAgentPoolReference Pool { get; set; } /// /// Orchestration/Plan Id for the maintenance job /// [DataMember] public Guid OrchestrationId { get; internal set; } /// /// The maintenance definition for the maintenance job /// [DataMember] public Int32 DefinitionId { get; set; } /// /// Status of the maintenance job /// [DataMember] public TaskAgentPoolMaintenanceJobStatus Status { get; set; } /// /// The maintenance job result /// [DataMember(EmitDefaultValue = false)] public TaskAgentPoolMaintenanceJobResult? Result { get; internal set; } /// /// Time that the maintenance job was queued /// [DataMember(EmitDefaultValue = false)] public DateTime? QueueTime { get; internal set; } /// /// Time that the maintenance job was started /// [DataMember(EmitDefaultValue = false)] public DateTime? StartTime { get; internal set; } /// /// Time that the maintenance job was completed /// [DataMember(EmitDefaultValue = false)] public DateTime? FinishTime { get; internal set; } /// /// The identity that queued the maintenance job /// [DataMember(EmitDefaultValue = false)] public IdentityRef RequestedBy { get; internal set; } /// /// The total error counts during the maintenance job /// [DataMember] public Int32 ErrorCount { get; internal set; } /// /// The total warning counts during the maintenance job /// [DataMember] public Int32 WarningCount { get; internal set; } /// /// The log download url for the maintenance job /// [DataMember] public String LogsDownloadUrl { get; internal set; } /// /// All agents that the maintenance job will run on /// public List TargetAgents { get { if (m_targetAgents == null) { m_targetAgents = new List(); } return m_targetAgents; } internal set { m_targetAgents = value; } } [DataMember(EmitDefaultValue = false, Name = "TargetAgents")] private List m_targetAgents; } }