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;
}
}