com.pulumi.gitlab.outputs.GetReleaseLinksReleaseLink Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gitlab Show documentation
Show all versions of gitlab Show documentation
A Pulumi package for creating and managing GitLab resources.
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;
}
}
}