using System;
using System.ComponentModel;
using System.Runtime.Serialization;
namespace GitHub.DistributedTask.WebApi
{
///
/// Represents a downloadable package.
///
[DataContract]
public class PackageMetadata
{
///
/// The type of package (e.g. "agent")
///
[DataMember]
public String Type
{
get;
set;
}
///
/// The platform (win7, linux, etc.)
///
[DataMember]
public String Platform
{
get;
set;
}
///
/// The date the package was created
///
[DataMember(EmitDefaultValue = false)]
public DateTime CreatedOn
{
get;
set;
}
///
/// The package version.
///
[DataMember(EmitDefaultValue = false)]
public PackageVersion Version
{
get;
set;
}
///
/// A direct link to download the package.
///
[DataMember]
public String DownloadUrl
{
get;
set;
}
///
/// File ID in file service
///
[DataMember(EmitDefaultValue = false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public Int32? FileId
{
get;
set;
}
///
/// Auth token to download the package
///
[DataMember(EmitDefaultValue = false)]
public String Token
{
get;
set;
}
///
/// SHA256 hash
///
[DataMember(EmitDefaultValue = false)]
public String HashValue
{
get;
set;
}
///
/// A link to documentation
///
[DataMember]
public String InfoUrl
{
get;
set;
}
///
/// The UI uses this to display instructions, e.g. "unzip MyAgent.zip"
///
[DataMember]
public String Filename
{
get;
set;
}
}
}