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