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