using System; using System.ComponentModel; using System.Runtime.Serialization; using GitHub.Services.WebApi; namespace GitHub.Build.WebApi { /// /// Represents options for running a phase against multiple agents. /// [DataContract] public class MultipleAgentExecutionOptions : AgentTargetExecutionOptions { public MultipleAgentExecutionOptions() : this(null) { } internal MultipleAgentExecutionOptions( ISecuredObject securedObject) : base(AgentTargetExecutionType.MultipleAgents, securedObject) { MaxConcurrency = 1; } /// /// The maximum number of agents to use simultaneously. /// [DataMember(EmitDefaultValue=true)] [DefaultValue(1)] public Int32 MaxConcurrency { get; set; } /// /// Indicates whether failure on one agent should prevent the phase from running on other agents. /// [DataMember(EmitDefaultValue = true)] public Boolean ContinueOnError { get; set; } } }