using System; using System.ComponentModel; namespace GitHub.DistributedTask.Pipelines { /// /// Provides a mechanism for controlling validation behaviors. /// [EditorBrowsable(EditorBrowsableState.Never)] public class BuildOptions { public static BuildOptions None { get; } = new BuildOptions(); /// /// Gets or sets a value indicating whether or not a queue target without a queue should be considered an /// error. /// public Boolean AllowEmptyQueueTarget { get; set; } /// /// Allow hyphens in names checked by the NameValidator. Used for yaml workflow schema /// public Boolean AllowHyphenNames { get; set; } /// /// Gets or sets a value indicating whether to demand the latest agent version. /// public Boolean DemandLatestAgent { get; set; } /// /// If true, resource definitions are allowed to use expressions /// public Boolean EnableResourceExpressions { get; set; } /// /// Gets or sets a value indicating whether or not to resolve resource version. /// public Boolean ResolveResourceVersions { get; set; } /// /// Gets or sets a value indicating whether input aliases defined in a task definition are honored. /// public Boolean ResolveTaskInputAliases { get; set; } /// /// Gets or sets a value indicating whether or not the individual step demands should be rolled up into their /// parent phase's demands. Settings this value to true will result in Phase's demand sets being a superset /// of their children's demands. /// public Boolean RollupStepDemands { get; set; } /// /// If true, all expressions must be resolvable given a provided context. /// This is normally going to be false for plan compile time and true for plan runtime. /// public Boolean ValidateExpressions { get; set; } /// /// Gets or sets a value indicating whether or not to validate resource existence and other constraints. /// public Boolean ValidateResources { get; set; } /// /// Gets or sets a value indicating whether or not step names provided by the caller should be validated for /// correctness and uniqueness. Setting this value to false will automatically fix invalid step names and /// de-duplicate step names which may lead to unexpected behavior at runtime when binding output variables. /// public Boolean ValidateStepNames { get; set; } /// /// Gets or sets a value indicating whether or not to run input validation defined by the task author. /// public Boolean ValidateTaskInputs { get; set; } } }