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

com.pulumi.googlenative.apigeeregistry.v1.DeploymentArgs Maven / Gradle / Ivy

// *** 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.googlenative.apigeeregistry.v1;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class DeploymentArgs extends com.pulumi.resources.ResourceArgs {

    public static final DeploymentArgs Empty = new DeploymentArgs();

    /**
     * Text briefly describing how to access the endpoint. Changes to this value will not affect the revision.
     * 
     */
    @Import(name="accessGuidance")
    private @Nullable Output accessGuidance;

    /**
     * @return Text briefly describing how to access the endpoint. Changes to this value will not affect the revision.
     * 
     */
    public Optional> accessGuidance() {
        return Optional.ofNullable(this.accessGuidance);
    }

    /**
     * Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
     * 
     */
    @Import(name="annotations")
    private @Nullable Output> annotations;

    /**
     * @return Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
     * 
     */
    public Optional>> annotations() {
        return Optional.ofNullable(this.annotations);
    }

    /**
     * Required. The ID to use for the deployment, which will become the final component of the deployment's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.
     * 
     */
    @Import(name="apiDeploymentId", required=true)
    private Output apiDeploymentId;

    /**
     * @return Required. The ID to use for the deployment, which will become the final component of the deployment's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.
     * 
     */
    public Output apiDeploymentId() {
        return this.apiDeploymentId;
    }

    @Import(name="apiId", required=true)
    private Output apiId;

    public Output apiId() {
        return this.apiId;
    }

    /**
     * The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}`
     * 
     */
    @Import(name="apiSpecRevision")
    private @Nullable Output apiSpecRevision;

    /**
     * @return The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}`
     * 
     */
    public Optional> apiSpecRevision() {
        return Optional.ofNullable(this.apiSpecRevision);
    }

    /**
     * A detailed description.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return A detailed description.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Human-meaningful name.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return Human-meaningful name.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * The address where the deployment is serving. Changes to this value will update the revision.
     * 
     */
    @Import(name="endpointUri")
    private @Nullable Output endpointUri;

    /**
     * @return The address where the deployment is serving. Changes to this value will update the revision.
     * 
     */
    public Optional> endpointUri() {
        return Optional.ofNullable(this.endpointUri);
    }

    /**
     * The address of the external channel of the API (e.g., the Developer Portal). Changes to this value will not affect the revision.
     * 
     */
    @Import(name="externalChannelUri")
    private @Nullable Output externalChannelUri;

    /**
     * @return The address of the external channel of the API (e.g., the Developer Portal). Changes to this value will not affect the revision.
     * 
     */
    public Optional> externalChannelUri() {
        return Optional.ofNullable(this.externalChannelUri);
    }

    /**
     * Text briefly identifying the intended audience of the API. Changes to this value will not affect the revision.
     * 
     */
    @Import(name="intendedAudience")
    private @Nullable Output intendedAudience;

    /**
     * @return Text briefly identifying the intended audience of the API. Changes to this value will not affect the revision.
     * 
     */
    public Optional> intendedAudience() {
        return Optional.ofNullable(this.intendedAudience);
    }

    /**
     * Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.
     * 
     */
    @Import(name="labels")
    private @Nullable Output> labels;

    /**
     * @return Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.
     * 
     */
    public Optional>> labels() {
        return Optional.ofNullable(this.labels);
    }

    @Import(name="location")
    private @Nullable Output location;

    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Resource name.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Resource name.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    @Import(name="project")
    private @Nullable Output project;

    public Optional> project() {
        return Optional.ofNullable(this.project);
    }

    private DeploymentArgs() {}

    private DeploymentArgs(DeploymentArgs $) {
        this.accessGuidance = $.accessGuidance;
        this.annotations = $.annotations;
        this.apiDeploymentId = $.apiDeploymentId;
        this.apiId = $.apiId;
        this.apiSpecRevision = $.apiSpecRevision;
        this.description = $.description;
        this.displayName = $.displayName;
        this.endpointUri = $.endpointUri;
        this.externalChannelUri = $.externalChannelUri;
        this.intendedAudience = $.intendedAudience;
        this.labels = $.labels;
        this.location = $.location;
        this.name = $.name;
        this.project = $.project;
    }

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

    public static final class Builder {
        private DeploymentArgs $;

        public Builder() {
            $ = new DeploymentArgs();
        }

        public Builder(DeploymentArgs defaults) {
            $ = new DeploymentArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param accessGuidance Text briefly describing how to access the endpoint. Changes to this value will not affect the revision.
         * 
         * @return builder
         * 
         */
        public Builder accessGuidance(@Nullable Output accessGuidance) {
            $.accessGuidance = accessGuidance;
            return this;
        }

        /**
         * @param accessGuidance Text briefly describing how to access the endpoint. Changes to this value will not affect the revision.
         * 
         * @return builder
         * 
         */
        public Builder accessGuidance(String accessGuidance) {
            return accessGuidance(Output.of(accessGuidance));
        }

        /**
         * @param annotations Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
         * 
         * @return builder
         * 
         */
        public Builder annotations(@Nullable Output> annotations) {
            $.annotations = annotations;
            return this;
        }

        /**
         * @param annotations Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
         * 
         * @return builder
         * 
         */
        public Builder annotations(Map annotations) {
            return annotations(Output.of(annotations));
        }

        /**
         * @param apiDeploymentId Required. The ID to use for the deployment, which will become the final component of the deployment's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.
         * 
         * @return builder
         * 
         */
        public Builder apiDeploymentId(Output apiDeploymentId) {
            $.apiDeploymentId = apiDeploymentId;
            return this;
        }

        /**
         * @param apiDeploymentId Required. The ID to use for the deployment, which will become the final component of the deployment's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.
         * 
         * @return builder
         * 
         */
        public Builder apiDeploymentId(String apiDeploymentId) {
            return apiDeploymentId(Output.of(apiDeploymentId));
        }

        public Builder apiId(Output apiId) {
            $.apiId = apiId;
            return this;
        }

        public Builder apiId(String apiId) {
            return apiId(Output.of(apiId));
        }

        /**
         * @param apiSpecRevision The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}`
         * 
         * @return builder
         * 
         */
        public Builder apiSpecRevision(@Nullable Output apiSpecRevision) {
            $.apiSpecRevision = apiSpecRevision;
            return this;
        }

        /**
         * @param apiSpecRevision The full resource name (including revision ID) of the spec of the API being served by the deployment. Changes to this value will update the revision. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec@revision}`
         * 
         * @return builder
         * 
         */
        public Builder apiSpecRevision(String apiSpecRevision) {
            return apiSpecRevision(Output.of(apiSpecRevision));
        }

        /**
         * @param description A detailed description.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description A detailed description.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName Human-meaningful name.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName Human-meaningful name.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param endpointUri The address where the deployment is serving. Changes to this value will update the revision.
         * 
         * @return builder
         * 
         */
        public Builder endpointUri(@Nullable Output endpointUri) {
            $.endpointUri = endpointUri;
            return this;
        }

        /**
         * @param endpointUri The address where the deployment is serving. Changes to this value will update the revision.
         * 
         * @return builder
         * 
         */
        public Builder endpointUri(String endpointUri) {
            return endpointUri(Output.of(endpointUri));
        }

        /**
         * @param externalChannelUri The address of the external channel of the API (e.g., the Developer Portal). Changes to this value will not affect the revision.
         * 
         * @return builder
         * 
         */
        public Builder externalChannelUri(@Nullable Output externalChannelUri) {
            $.externalChannelUri = externalChannelUri;
            return this;
        }

        /**
         * @param externalChannelUri The address of the external channel of the API (e.g., the Developer Portal). Changes to this value will not affect the revision.
         * 
         * @return builder
         * 
         */
        public Builder externalChannelUri(String externalChannelUri) {
            return externalChannelUri(Output.of(externalChannelUri));
        }

        /**
         * @param intendedAudience Text briefly identifying the intended audience of the API. Changes to this value will not affect the revision.
         * 
         * @return builder
         * 
         */
        public Builder intendedAudience(@Nullable Output intendedAudience) {
            $.intendedAudience = intendedAudience;
            return this;
        }

        /**
         * @param intendedAudience Text briefly identifying the intended audience of the API. Changes to this value will not affect the revision.
         * 
         * @return builder
         * 
         */
        public Builder intendedAudience(String intendedAudience) {
            return intendedAudience(Output.of(intendedAudience));
        }

        /**
         * @param labels Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.
         * 
         * @return builder
         * 
         */
        public Builder labels(@Nullable Output> labels) {
            $.labels = labels;
            return this;
        }

        /**
         * @param labels Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.
         * 
         * @return builder
         * 
         */
        public Builder labels(Map labels) {
            return labels(Output.of(labels));
        }

        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param name Resource name.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Resource name.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public Builder project(@Nullable Output project) {
            $.project = project;
            return this;
        }

        public Builder project(String project) {
            return project(Output.of(project));
        }

        public DeploymentArgs build() {
            $.apiDeploymentId = Objects.requireNonNull($.apiDeploymentId, "expected parameter 'apiDeploymentId' to be non-null");
            $.apiId = Objects.requireNonNull($.apiId, "expected parameter 'apiId' to be non-null");
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy