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

com.pulumi.aws.apigateway.inputs.DeploymentState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show 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.aws.apigateway.inputs;

import com.pulumi.aws.apigateway.inputs.DeploymentCanarySettingsArgs;
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 DeploymentState extends com.pulumi.resources.ResourceArgs {

    public static final DeploymentState Empty = new DeploymentState();

    /**
     * Input configuration for the canary deployment when the deployment is a canary release deployment. See `canary_settings below.
     * 
     */
    @Import(name="canarySettings")
    private @Nullable Output canarySettings;

    /**
     * @return Input configuration for the canary deployment when the deployment is a canary release deployment. See `canary_settings below.
     * 
     */
    public Optional> canarySettings() {
        return Optional.ofNullable(this.canarySettings);
    }

    /**
     * Creation date of the deployment
     * 
     */
    @Import(name="createdDate")
    private @Nullable Output createdDate;

    /**
     * @return Creation date of the deployment
     * 
     */
    public Optional> createdDate() {
        return Optional.ofNullable(this.createdDate);
    }

    /**
     * Description of the deployment
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the deployment
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Execution ARN to be used in `lambda_permission`'s `source_arn`
     * when allowing API Gateway to invoke a Lambda function,
     * e.g., `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod`
     * 
     */
    @Import(name="executionArn")
    private @Nullable Output executionArn;

    /**
     * @return Execution ARN to be used in `lambda_permission`'s `source_arn`
     * when allowing API Gateway to invoke a Lambda function,
     * e.g., `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod`
     * 
     */
    public Optional> executionArn() {
        return Optional.ofNullable(this.executionArn);
    }

    /**
     * URL to invoke the API pointing to the stage,
     * e.g., `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod`
     * 
     */
    @Import(name="invokeUrl")
    private @Nullable Output invokeUrl;

    /**
     * @return URL to invoke the API pointing to the stage,
     * e.g., `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod`
     * 
     */
    public Optional> invokeUrl() {
        return Optional.ofNullable(this.invokeUrl);
    }

    /**
     * REST API identifier.
     * 
     */
    @Import(name="restApi")
    private @Nullable Output restApi;

    /**
     * @return REST API identifier.
     * 
     */
    public Optional> restApi() {
        return Optional.ofNullable(this.restApi);
    }

    /**
     * Description to set on the stage managed by the `stage_name` argument.
     * 
     */
    @Import(name="stageDescription")
    private @Nullable Output stageDescription;

    /**
     * @return Description to set on the stage managed by the `stage_name` argument.
     * 
     */
    public Optional> stageDescription() {
        return Optional.ofNullable(this.stageDescription);
    }

    /**
     * Name of the stage to create with this deployment. If the specified stage already exists, it will be updated to point to the new deployment. We recommend using the `aws.apigateway.Stage` resource instead to manage stages.
     * 
     */
    @Import(name="stageName")
    private @Nullable Output stageName;

    /**
     * @return Name of the stage to create with this deployment. If the specified stage already exists, it will be updated to point to the new deployment. We recommend using the `aws.apigateway.Stage` resource instead to manage stages.
     * 
     */
    public Optional> stageName() {
        return Optional.ofNullable(this.stageName);
    }

    /**
     * Map of arbitrary keys and values that, when changed, will trigger a redeployment.
     * 
     */
    @Import(name="triggers")
    private @Nullable Output> triggers;

    /**
     * @return Map of arbitrary keys and values that, when changed, will trigger a redeployment.
     * 
     */
    public Optional>> triggers() {
        return Optional.ofNullable(this.triggers);
    }

    /**
     * Map to set on the stage managed by the `stage_name` argument.
     * 
     */
    @Import(name="variables")
    private @Nullable Output> variables;

    /**
     * @return Map to set on the stage managed by the `stage_name` argument.
     * 
     */
    public Optional>> variables() {
        return Optional.ofNullable(this.variables);
    }

    private DeploymentState() {}

    private DeploymentState(DeploymentState $) {
        this.canarySettings = $.canarySettings;
        this.createdDate = $.createdDate;
        this.description = $.description;
        this.executionArn = $.executionArn;
        this.invokeUrl = $.invokeUrl;
        this.restApi = $.restApi;
        this.stageDescription = $.stageDescription;
        this.stageName = $.stageName;
        this.triggers = $.triggers;
        this.variables = $.variables;
    }

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

    public static final class Builder {
        private DeploymentState $;

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

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

        /**
         * @param canarySettings Input configuration for the canary deployment when the deployment is a canary release deployment. See `canary_settings below.
         * 
         * @return builder
         * 
         */
        public Builder canarySettings(@Nullable Output canarySettings) {
            $.canarySettings = canarySettings;
            return this;
        }

        /**
         * @param canarySettings Input configuration for the canary deployment when the deployment is a canary release deployment. See `canary_settings below.
         * 
         * @return builder
         * 
         */
        public Builder canarySettings(DeploymentCanarySettingsArgs canarySettings) {
            return canarySettings(Output.of(canarySettings));
        }

        /**
         * @param createdDate Creation date of the deployment
         * 
         * @return builder
         * 
         */
        public Builder createdDate(@Nullable Output createdDate) {
            $.createdDate = createdDate;
            return this;
        }

        /**
         * @param createdDate Creation date of the deployment
         * 
         * @return builder
         * 
         */
        public Builder createdDate(String createdDate) {
            return createdDate(Output.of(createdDate));
        }

        /**
         * @param description Description of the deployment
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the deployment
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param executionArn Execution ARN to be used in `lambda_permission`'s `source_arn`
         * when allowing API Gateway to invoke a Lambda function,
         * e.g., `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod`
         * 
         * @return builder
         * 
         */
        public Builder executionArn(@Nullable Output executionArn) {
            $.executionArn = executionArn;
            return this;
        }

        /**
         * @param executionArn Execution ARN to be used in `lambda_permission`'s `source_arn`
         * when allowing API Gateway to invoke a Lambda function,
         * e.g., `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod`
         * 
         * @return builder
         * 
         */
        public Builder executionArn(String executionArn) {
            return executionArn(Output.of(executionArn));
        }

        /**
         * @param invokeUrl URL to invoke the API pointing to the stage,
         * e.g., `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod`
         * 
         * @return builder
         * 
         */
        public Builder invokeUrl(@Nullable Output invokeUrl) {
            $.invokeUrl = invokeUrl;
            return this;
        }

        /**
         * @param invokeUrl URL to invoke the API pointing to the stage,
         * e.g., `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod`
         * 
         * @return builder
         * 
         */
        public Builder invokeUrl(String invokeUrl) {
            return invokeUrl(Output.of(invokeUrl));
        }

        /**
         * @param restApi REST API identifier.
         * 
         * @return builder
         * 
         */
        public Builder restApi(@Nullable Output restApi) {
            $.restApi = restApi;
            return this;
        }

        /**
         * @param restApi REST API identifier.
         * 
         * @return builder
         * 
         */
        public Builder restApi(String restApi) {
            return restApi(Output.of(restApi));
        }

        /**
         * @param stageDescription Description to set on the stage managed by the `stage_name` argument.
         * 
         * @return builder
         * 
         */
        public Builder stageDescription(@Nullable Output stageDescription) {
            $.stageDescription = stageDescription;
            return this;
        }

        /**
         * @param stageDescription Description to set on the stage managed by the `stage_name` argument.
         * 
         * @return builder
         * 
         */
        public Builder stageDescription(String stageDescription) {
            return stageDescription(Output.of(stageDescription));
        }

        /**
         * @param stageName Name of the stage to create with this deployment. If the specified stage already exists, it will be updated to point to the new deployment. We recommend using the `aws.apigateway.Stage` resource instead to manage stages.
         * 
         * @return builder
         * 
         */
        public Builder stageName(@Nullable Output stageName) {
            $.stageName = stageName;
            return this;
        }

        /**
         * @param stageName Name of the stage to create with this deployment. If the specified stage already exists, it will be updated to point to the new deployment. We recommend using the `aws.apigateway.Stage` resource instead to manage stages.
         * 
         * @return builder
         * 
         */
        public Builder stageName(String stageName) {
            return stageName(Output.of(stageName));
        }

        /**
         * @param triggers Map of arbitrary keys and values that, when changed, will trigger a redeployment.
         * 
         * @return builder
         * 
         */
        public Builder triggers(@Nullable Output> triggers) {
            $.triggers = triggers;
            return this;
        }

        /**
         * @param triggers Map of arbitrary keys and values that, when changed, will trigger a redeployment.
         * 
         * @return builder
         * 
         */
        public Builder triggers(Map triggers) {
            return triggers(Output.of(triggers));
        }

        /**
         * @param variables Map to set on the stage managed by the `stage_name` argument.
         * 
         * @return builder
         * 
         */
        public Builder variables(@Nullable Output> variables) {
            $.variables = variables;
            return this;
        }

        /**
         * @param variables Map to set on the stage managed by the `stage_name` argument.
         * 
         * @return builder
         * 
         */
        public Builder variables(Map variables) {
            return variables(Output.of(variables));
        }

        public DeploymentState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy