using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using GitHub.Services.WebApi;
namespace GitHub.Build.WebApi
{
[DataContract]
public class ArtifactResource : BaseSecuredObject
{
public ArtifactResource()
{
}
public ArtifactResource(
ISecuredObject securedObject)
: base(securedObject)
{
}
///
/// The type of the resource: File container, version control folder, UNC path, etc.
///
[DataMember(EmitDefaultValue = false)]
public String Type
{
get;
set;
}
///
/// Type-specific data about the artifact.
///
///
/// For example, "#/10002/5/drop", "$/drops/5", "\\myshare\myfolder\mydrops\5"
///
[DataMember(EmitDefaultValue = false)]
public String Data
{
get;
set;
}
///
/// Type-specific properties of the artifact.
///
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public Dictionary Properties
{
get;
set;
}
///
/// The full http link to the resource.
///
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public String Url
{
get;
set;
}
///
/// A link to download the resource.
///
///
/// This might include things like query parameters to download as a zip file.
///
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public String DownloadUrl
{
get;
set;
}
///
/// The links to other objects related to this object.
///
public ReferenceLinks Links
{
get
{
if (m_links == null)
{
m_links = new ReferenceLinks();
}
return m_links;
}
}
[DataMember(Name = "_links", EmitDefaultValue = false)]
private ReferenceLinks m_links;
}
}