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

com.pulumi.aws.codepipeline.inputs.PipelineState 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.aws.codepipeline.inputs;

import com.pulumi.aws.codepipeline.inputs.PipelineArtifactStoreArgs;
import com.pulumi.aws.codepipeline.inputs.PipelineStageArgs;
import com.pulumi.aws.codepipeline.inputs.PipelineTriggerArgs;
import com.pulumi.aws.codepipeline.inputs.PipelineVariableArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PipelineState Empty = new PipelineState();

    /**
     * The codepipeline ARN.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The codepipeline ARN.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * One or more artifact_store blocks. Artifact stores are documented below.
     * 
     */
    @Import(name="artifactStores")
    private @Nullable Output> artifactStores;

    /**
     * @return One or more artifact_store blocks. Artifact stores are documented below.
     * 
     */
    public Optional>> artifactStores() {
        return Optional.ofNullable(this.artifactStores);
    }

    /**
     * The method that the pipeline will use to handle multiple executions. The default mode is `SUPERSEDED`. For value values, refer to the [AWS documentation](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PipelineDeclaration.html#CodePipeline-Type-PipelineDeclaration-executionMode).
     * 
     * **Note:** `QUEUED` or `PARALLEL` mode can only be used with V2 pipelines.
     * 
     */
    @Import(name="executionMode")
    private @Nullable Output executionMode;

    /**
     * @return The method that the pipeline will use to handle multiple executions. The default mode is `SUPERSEDED`. For value values, refer to the [AWS documentation](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PipelineDeclaration.html#CodePipeline-Type-PipelineDeclaration-executionMode).
     * 
     * **Note:** `QUEUED` or `PARALLEL` mode can only be used with V2 pipelines.
     * 
     */
    public Optional> executionMode() {
        return Optional.ofNullable(this.executionMode);
    }

    /**
     * The name of the pipeline.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the pipeline.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Type of the pipeline. Possible values are: `V1` and `V2`. Default value is `V1`.
     * 
     */
    @Import(name="pipelineType")
    private @Nullable Output pipelineType;

    /**
     * @return Type of the pipeline. Possible values are: `V1` and `V2`. Default value is `V1`.
     * 
     */
    public Optional> pipelineType() {
        return Optional.ofNullable(this.pipelineType);
    }

    /**
     * A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
     * 
     */
    @Import(name="roleArn")
    private @Nullable Output roleArn;

    /**
     * @return A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
     * 
     */
    public Optional> roleArn() {
        return Optional.ofNullable(this.roleArn);
    }

    /**
     * A stage block. Stages are documented below.
     * 
     */
    @Import(name="stages")
    private @Nullable Output> stages;

    /**
     * @return A stage block. Stages are documented below.
     * 
     */
    public Optional>> stages() {
        return Optional.ofNullable(this.stages);
    }

    /**
     * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * A trigger block. Valid only when `pipeline_type` is `V2`. Triggers are documented below.
     * 
     */
    @Import(name="triggers")
    private @Nullable Output> triggers;

    /**
     * @return A trigger block. Valid only when `pipeline_type` is `V2`. Triggers are documented below.
     * 
     */
    public Optional>> triggers() {
        return Optional.ofNullable(this.triggers);
    }

    /**
     * A pipeline-level variable block. Valid only when `pipeline_type` is `V2`. Variable are documented below.
     * 
     */
    @Import(name="variables")
    private @Nullable Output> variables;

    /**
     * @return A pipeline-level variable block. Valid only when `pipeline_type` is `V2`. Variable are documented below.
     * 
     */
    public Optional>> variables() {
        return Optional.ofNullable(this.variables);
    }

    private PipelineState() {}

    private PipelineState(PipelineState $) {
        this.arn = $.arn;
        this.artifactStores = $.artifactStores;
        this.executionMode = $.executionMode;
        this.name = $.name;
        this.pipelineType = $.pipelineType;
        this.roleArn = $.roleArn;
        this.stages = $.stages;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.triggers = $.triggers;
        this.variables = $.variables;
    }

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

    public static final class Builder {
        private PipelineState $;

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

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

        /**
         * @param arn The codepipeline ARN.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The codepipeline ARN.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param artifactStores One or more artifact_store blocks. Artifact stores are documented below.
         * 
         * @return builder
         * 
         */
        public Builder artifactStores(@Nullable Output> artifactStores) {
            $.artifactStores = artifactStores;
            return this;
        }

        /**
         * @param artifactStores One or more artifact_store blocks. Artifact stores are documented below.
         * 
         * @return builder
         * 
         */
        public Builder artifactStores(List artifactStores) {
            return artifactStores(Output.of(artifactStores));
        }

        /**
         * @param artifactStores One or more artifact_store blocks. Artifact stores are documented below.
         * 
         * @return builder
         * 
         */
        public Builder artifactStores(PipelineArtifactStoreArgs... artifactStores) {
            return artifactStores(List.of(artifactStores));
        }

        /**
         * @param executionMode The method that the pipeline will use to handle multiple executions. The default mode is `SUPERSEDED`. For value values, refer to the [AWS documentation](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PipelineDeclaration.html#CodePipeline-Type-PipelineDeclaration-executionMode).
         * 
         * **Note:** `QUEUED` or `PARALLEL` mode can only be used with V2 pipelines.
         * 
         * @return builder
         * 
         */
        public Builder executionMode(@Nullable Output executionMode) {
            $.executionMode = executionMode;
            return this;
        }

        /**
         * @param executionMode The method that the pipeline will use to handle multiple executions. The default mode is `SUPERSEDED`. For value values, refer to the [AWS documentation](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PipelineDeclaration.html#CodePipeline-Type-PipelineDeclaration-executionMode).
         * 
         * **Note:** `QUEUED` or `PARALLEL` mode can only be used with V2 pipelines.
         * 
         * @return builder
         * 
         */
        public Builder executionMode(String executionMode) {
            return executionMode(Output.of(executionMode));
        }

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

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

        /**
         * @param pipelineType Type of the pipeline. Possible values are: `V1` and `V2`. Default value is `V1`.
         * 
         * @return builder
         * 
         */
        public Builder pipelineType(@Nullable Output pipelineType) {
            $.pipelineType = pipelineType;
            return this;
        }

        /**
         * @param pipelineType Type of the pipeline. Possible values are: `V1` and `V2`. Default value is `V1`.
         * 
         * @return builder
         * 
         */
        public Builder pipelineType(String pipelineType) {
            return pipelineType(Output.of(pipelineType));
        }

        /**
         * @param roleArn A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(@Nullable Output roleArn) {
            $.roleArn = roleArn;
            return this;
        }

        /**
         * @param roleArn A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.
         * 
         * @return builder
         * 
         */
        public Builder roleArn(String roleArn) {
            return roleArn(Output.of(roleArn));
        }

        /**
         * @param stages A stage block. Stages are documented below.
         * 
         * @return builder
         * 
         */
        public Builder stages(@Nullable Output> stages) {
            $.stages = stages;
            return this;
        }

        /**
         * @param stages A stage block. Stages are documented below.
         * 
         * @return builder
         * 
         */
        public Builder stages(List stages) {
            return stages(Output.of(stages));
        }

        /**
         * @param stages A stage block. Stages are documented below.
         * 
         * @return builder
         * 
         */
        public Builder stages(PipelineStageArgs... stages) {
            return stages(List.of(stages));
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param triggers A trigger block. Valid only when `pipeline_type` is `V2`. Triggers are documented below.
         * 
         * @return builder
         * 
         */
        public Builder triggers(@Nullable Output> triggers) {
            $.triggers = triggers;
            return this;
        }

        /**
         * @param triggers A trigger block. Valid only when `pipeline_type` is `V2`. Triggers are documented below.
         * 
         * @return builder
         * 
         */
        public Builder triggers(List triggers) {
            return triggers(Output.of(triggers));
        }

        /**
         * @param triggers A trigger block. Valid only when `pipeline_type` is `V2`. Triggers are documented below.
         * 
         * @return builder
         * 
         */
        public Builder triggers(PipelineTriggerArgs... triggers) {
            return triggers(List.of(triggers));
        }

        /**
         * @param variables A pipeline-level variable block. Valid only when `pipeline_type` is `V2`. Variable are documented below.
         * 
         * @return builder
         * 
         */
        public Builder variables(@Nullable Output> variables) {
            $.variables = variables;
            return this;
        }

        /**
         * @param variables A pipeline-level variable block. Valid only when `pipeline_type` is `V2`. Variable are documented below.
         * 
         * @return builder
         * 
         */
        public Builder variables(List variables) {
            return variables(Output.of(variables));
        }

        /**
         * @param variables A pipeline-level variable block. Valid only when `pipeline_type` is `V2`. Variable are documented below.
         * 
         * @return builder
         * 
         */
        public Builder variables(PipelineVariableArgs... variables) {
            return variables(List.of(variables));
        }

        public PipelineState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy