using System; using System.Runtime.Serialization; using GitHub.Services.WebApi; namespace GitHub.Build.WebApi { /// /// Represents a variable used by a build definition. /// [DataContract] public class BuildDefinitionVariable : BaseSecuredObject { public BuildDefinitionVariable() { } internal BuildDefinitionVariable( ISecuredObject securedObject) : base(securedObject) { } private BuildDefinitionVariable(BuildDefinitionVariable variableToClone) { Value = variableToClone.Value; AllowOverride = variableToClone.AllowOverride; IsSecret = variableToClone.IsSecret; } /// /// The value of the variable. /// [DataMember(EmitDefaultValue = true)] public String Value { get; set; } /// /// Indicates whether the value can be set at queue time. /// [DataMember(EmitDefaultValue = false)] public Boolean AllowOverride { get; set; } /// /// Indicates whether the variable's value is a secret. /// [DataMember(EmitDefaultValue = false)] public Boolean IsSecret { get; set; } /// /// A clone of this BuildDefinitionVariable. /// /// A new BuildDefinitionVariable public BuildDefinitionVariable Clone() { return new BuildDefinitionVariable(this); } } }