All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gitlab.outputs.GetReleaseLinksReleaseLink Maven / Gradle / Ivy

The newest version!
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.gitlab.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class GetReleaseLinksReleaseLink {
    /**
     * @return Full path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
     * 
     */
    private String directAssetUrl;
    /**
     * @return External or internal link.
     * 
     */
    private Boolean external;
    /**
     * @return Relative path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
     * 
     */
    private String filepath;
    /**
     * @return The ID of the link.
     * 
     */
    private Integer linkId;
    /**
     * @return The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other.
     * 
     */
    private String linkType;
    /**
     * @return The name of the link. Link names must be unique within the release.
     * 
     */
    private String name;
    /**
     * @return The ID or [URL-encoded path of the project](https://docs.gitlab.com/ee/api/index.html#namespaced-path-encoding).
     * 
     */
    private String project;
    /**
     * @return The tag associated with the Release.
     * 
     */
    private String tagName;
    /**
     * @return The URL of the link. Link URLs must be unique within the release.
     * 
     */
    private String url;

    private GetReleaseLinksReleaseLink() {}
    /**
     * @return Full path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
     * 
     */
    public String directAssetUrl() {
        return this.directAssetUrl;
    }
    /**
     * @return External or internal link.
     * 
     */
    public Boolean external() {
        return this.external;
    }
    /**
     * @return Relative path for a [Direct Asset link](https://docs.gitlab.com/ee/user/project/releases/index.html#permanent-links-to-release-assets).
     * 
     */
    public String filepath() {
        return this.filepath;
    }
    /**
     * @return The ID of the link.
     * 
     */
    public Integer linkId() {
        return this.linkId;
    }
    /**
     * @return The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other.
     * 
     */
    public String linkType() {
        return this.linkType;
    }
    /**
     * @return The name of the link. Link names must be unique within the release.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return The ID or [URL-encoded path of the project](https://docs.gitlab.com/ee/api/index.html#namespaced-path-encoding).
     * 
     */
    public String project() {
        return this.project;
    }
    /**
     * @return The tag associated with the Release.
     * 
     */
    public String tagName() {
        return this.tagName;
    }
    /**
     * @return The URL of the link. Link URLs must be unique within the release.
     * 
     */
    public String url() {
        return this.url;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(GetReleaseLinksReleaseLink defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String directAssetUrl;
        private Boolean external;
        private String filepath;
        private Integer linkId;
        private String linkType;
        private String name;
        private String project;
        private String tagName;
        private String url;
        public Builder() {}
        public Builder(GetReleaseLinksReleaseLink defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.directAssetUrl = defaults.directAssetUrl;
    	      this.external = defaults.external;
    	      this.filepath = defaults.filepath;
    	      this.linkId = defaults.linkId;
    	      this.linkType = defaults.linkType;
    	      this.name = defaults.name;
    	      this.project = defaults.project;
    	      this.tagName = defaults.tagName;
    	      this.url = defaults.url;
        }

        @CustomType.Setter
        public Builder directAssetUrl(String directAssetUrl) {
            if (directAssetUrl == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "directAssetUrl");
            }
            this.directAssetUrl = directAssetUrl;
            return this;
        }
        @CustomType.Setter
        public Builder external(Boolean external) {
            if (external == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "external");
            }
            this.external = external;
            return this;
        }
        @CustomType.Setter
        public Builder filepath(String filepath) {
            if (filepath == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "filepath");
            }
            this.filepath = filepath;
            return this;
        }
        @CustomType.Setter
        public Builder linkId(Integer linkId) {
            if (linkId == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "linkId");
            }
            this.linkId = linkId;
            return this;
        }
        @CustomType.Setter
        public Builder linkType(String linkType) {
            if (linkType == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "linkType");
            }
            this.linkType = linkType;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder project(String project) {
            if (project == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "project");
            }
            this.project = project;
            return this;
        }
        @CustomType.Setter
        public Builder tagName(String tagName) {
            if (tagName == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "tagName");
            }
            this.tagName = tagName;
            return this;
        }
        @CustomType.Setter
        public Builder url(String url) {
            if (url == null) {
              throw new MissingRequiredPropertyException("GetReleaseLinksReleaseLink", "url");
            }
            this.url = url;
            return this;
        }
        public GetReleaseLinksReleaseLink build() {
            final var _resultValue = new GetReleaseLinksReleaseLink();
            _resultValue.directAssetUrl = directAssetUrl;
            _resultValue.external = external;
            _resultValue.filepath = filepath;
            _resultValue.linkId = linkId;
            _resultValue.linkType = linkType;
            _resultValue.name = name;
            _resultValue.project = project;
            _resultValue.tagName = tagName;
            _resultValue.url = url;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy