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

software.amazon.awscdk.services.cloudformation.PipelineCreateReplaceChangeSetActionProps Maven / Gradle / Ivy

package software.amazon.awscdk.services.cloudformation;

/**
 * Properties for the PipelineCreateReplaceChangeSetAction.
 */
@javax.annotation.Generated(value = "jsii-pacmak/0.7.8 (build 100f5ad)", date = "2018-11-06T17:22:28.220Z")
public interface PipelineCreateReplaceChangeSetActionProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.services.cloudformation.PipelineCloudFormationDeployActionProps {
    /**
     * Name of the change set to create or update.
     */
    java.lang.String getChangeSetName();
    /**
     * Name of the change set to create or update.
     */
    void setChangeSetName(final java.lang.String value);
    /**
     * Input artifact with the ChangeSet's CloudFormation template
     */
    software.amazon.awscdk.services.codepipeline.api.ArtifactPath getTemplatePath();
    /**
     * Input artifact with the ChangeSet's CloudFormation template
     */
    void setTemplatePath(final software.amazon.awscdk.services.codepipeline.api.ArtifactPath value);

    /**
     * @return a {@link Builder} of {@link PipelineCreateReplaceChangeSetActionProps}
     */
    static Builder builder() {
        return new Builder();
    }

    /**
     * A builder for {@link PipelineCreateReplaceChangeSetActionProps}
     */
    final class Builder {
        private java.lang.String _changeSetName;
        private software.amazon.awscdk.services.codepipeline.api.ArtifactPath _templatePath;
        @javax.annotation.Nullable
        private java.util.List _capabilities;
        @javax.annotation.Nullable
        private java.lang.Boolean _fullPermissions;
        @javax.annotation.Nullable
        private java.util.Map _parameterOverrides;
        @javax.annotation.Nullable
        private software.amazon.awscdk.services.iam.Role _role;
        @javax.annotation.Nullable
        private software.amazon.awscdk.services.codepipeline.api.ArtifactPath _templateConfiguration;
        private java.lang.String _stackName;
        @javax.annotation.Nullable
        private java.lang.String _outputArtifactName;
        @javax.annotation.Nullable
        private java.lang.String _outputFileName;
        @javax.annotation.Nullable
        private java.lang.Number _runOrder;
        private software.amazon.awscdk.services.codepipeline.api.IStage _stage;

        /**
         * Sets the value of ChangeSetName
         * @param value Name of the change set to create or update.
         * @return {@code this}
         */
        public Builder withChangeSetName(final java.lang.String value) {
            this._changeSetName = java.util.Objects.requireNonNull(value, "changeSetName is required");
            return this;
        }
        /**
         * Sets the value of TemplatePath
         * @param value Input artifact with the ChangeSet's CloudFormation template
         * @return {@code this}
         */
        public Builder withTemplatePath(final software.amazon.awscdk.services.codepipeline.api.ArtifactPath value) {
            this._templatePath = java.util.Objects.requireNonNull(value, "templatePath is required");
            return this;
        }
        /**
         * Sets the value of Capabilities
         * @param value Acknowledge certain changes made as part of deployment

For stacks that contain certain resources, explicit acknowledgement that AWS CloudFormation
might create or update those resources. For example, you must specify CAPABILITY_IAM if your
stack template contains AWS Identity and Access Management (IAM) resources. For more
information, see [Acknowledging IAM Resources in AWS CloudFormation Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities).
         * @return {@code this}
         */
        public Builder withCapabilities(@javax.annotation.Nullable final java.util.List value) {
            this._capabilities = value;
            return this;
        }
        /**
         * Sets the value of FullPermissions
         * @param value Whether to grant full permissions to CloudFormation while deploying this template.

Setting this to `true` affects the defaults for `role` and `capabilities`, if you
don't specify any alternatives.

The default role that will be created for you will have full (i.e., `*`)
permissions on all resources, and the deployment will have named IAM
capabilities (i.e., able to create all IAM resources).

This is a shorthand that you can use if you fully trust the templates that
are deployed in this pipeline. If you want more fine-grained permissions,
use `addToRolePolicy` and `capabilities` to control what the CloudFormation
deployment is allowed to do.
         * @return {@code this}
         */
        public Builder withFullPermissions(@javax.annotation.Nullable final java.lang.Boolean value) {
            this._fullPermissions = value;
            return this;
        }
        /**
         * Sets the value of ParameterOverrides
         * @param value Additional template parameters.

Template parameters specified here take precedence over template parameters
found in the artifact specified by the `templateConfiguration` property.

We recommend that you use the template configuration file to specify
most of your parameter values. Use parameter overrides to specify only
dynamic parameter values (values that are unknown until you run the
pipeline).

All parameter names must be present in the stack template.

Note: the entire object cannot be more than 1kB.
         * @return {@code this}
         */
        public Builder withParameterOverrides(@javax.annotation.Nullable final java.util.Map value) {
            this._parameterOverrides = value;
            return this;
        }
        /**
         * Sets the value of Role
         * @param value IAM role to assume when deploying changes.

If not specified, a fresh role is created. The role is created with zero
permissions unless `fullPermissions` is true, in which case the role will have
full permissions.
         * @return {@code this}
         */
        public Builder withRole(@javax.annotation.Nullable final software.amazon.awscdk.services.iam.Role value) {
            this._role = value;
            return this;
        }
        /**
         * Sets the value of TemplateConfiguration
         * @param value Input artifact to use for template parameters values and stack policy.

The template configuration file should contain a JSON object that should look like this:
`{ "Parameters": {...}, "Tags": {...}, "StackPolicy": {... }}`. For more information,
see [AWS CloudFormation Artifacts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html).

Note that if you include sensitive information, such as passwords, restrict access to this
file.
         * @return {@code this}
         */
        public Builder withTemplateConfiguration(@javax.annotation.Nullable final software.amazon.awscdk.services.codepipeline.api.ArtifactPath value) {
            this._templateConfiguration = value;
            return this;
        }
        /**
         * Sets the value of StackName
         * @param value The name of the stack to apply this action to
         * @return {@code this}
         */
        public Builder withStackName(final java.lang.String value) {
            this._stackName = java.util.Objects.requireNonNull(value, "stackName is required");
            return this;
        }
        /**
         * Sets the value of OutputArtifactName
         * @param value The name of the output artifact to generate

Only applied if `outputFileName` is set as well.
         * @return {@code this}
         */
        public Builder withOutputArtifactName(@javax.annotation.Nullable final java.lang.String value) {
            this._outputArtifactName = value;
            return this;
        }
        /**
         * Sets the value of OutputFileName
         * @param value A name for the filename in the output artifact to store the AWS CloudFormation call's result.

The file will contain the result of the call to AWS CloudFormation (for example
the call to UpdateStack or CreateChangeSet).

AWS CodePipeline adds the file to the output artifact after performing
the specified action.
         * @return {@code this}
         */
        public Builder withOutputFileName(@javax.annotation.Nullable final java.lang.String value) {
            this._outputFileName = value;
            return this;
        }
        /**
         * Sets the value of RunOrder
         * @param value The runOrder property for this Action.
RunOrder determines the relative order in which multiple Actions in the same Stage execute.
         * @return {@code this}
         */
        public Builder withRunOrder(@javax.annotation.Nullable final java.lang.Number value) {
            this._runOrder = value;
            return this;
        }
        /**
         * Sets the value of Stage
         * @param value The Pipeline Stage to add this Action to.
         * @return {@code this}
         */
        public Builder withStage(final software.amazon.awscdk.services.codepipeline.api.IStage value) {
            this._stage = java.util.Objects.requireNonNull(value, "stage is required");
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link PipelineCreateReplaceChangeSetActionProps}
         * @throws NullPointerException if any required attribute was not provided
         */
        public PipelineCreateReplaceChangeSetActionProps build() {
            return new PipelineCreateReplaceChangeSetActionProps() {
                private java.lang.String $changeSetName = java.util.Objects.requireNonNull(_changeSetName, "changeSetName is required");
                private software.amazon.awscdk.services.codepipeline.api.ArtifactPath $templatePath = java.util.Objects.requireNonNull(_templatePath, "templatePath is required");
                @javax.annotation.Nullable
                private java.util.List $capabilities = _capabilities;
                @javax.annotation.Nullable
                private java.lang.Boolean $fullPermissions = _fullPermissions;
                @javax.annotation.Nullable
                private java.util.Map $parameterOverrides = _parameterOverrides;
                @javax.annotation.Nullable
                private software.amazon.awscdk.services.iam.Role $role = _role;
                @javax.annotation.Nullable
                private software.amazon.awscdk.services.codepipeline.api.ArtifactPath $templateConfiguration = _templateConfiguration;
                private java.lang.String $stackName = java.util.Objects.requireNonNull(_stackName, "stackName is required");
                @javax.annotation.Nullable
                private java.lang.String $outputArtifactName = _outputArtifactName;
                @javax.annotation.Nullable
                private java.lang.String $outputFileName = _outputFileName;
                @javax.annotation.Nullable
                private java.lang.Number $runOrder = _runOrder;
                private software.amazon.awscdk.services.codepipeline.api.IStage $stage = java.util.Objects.requireNonNull(_stage, "stage is required");

                @Override
                public java.lang.String getChangeSetName() {
                    return this.$changeSetName;
                }

                @Override
                public void setChangeSetName(final java.lang.String value) {
                    this.$changeSetName = java.util.Objects.requireNonNull(value, "changeSetName is required");
                }

                @Override
                public software.amazon.awscdk.services.codepipeline.api.ArtifactPath getTemplatePath() {
                    return this.$templatePath;
                }

                @Override
                public void setTemplatePath(final software.amazon.awscdk.services.codepipeline.api.ArtifactPath value) {
                    this.$templatePath = java.util.Objects.requireNonNull(value, "templatePath is required");
                }

                @Override
                public java.util.List getCapabilities() {
                    return this.$capabilities;
                }

                @Override
                public void setCapabilities(@javax.annotation.Nullable final java.util.List value) {
                    this.$capabilities = value;
                }

                @Override
                public java.lang.Boolean getFullPermissions() {
                    return this.$fullPermissions;
                }

                @Override
                public void setFullPermissions(@javax.annotation.Nullable final java.lang.Boolean value) {
                    this.$fullPermissions = value;
                }

                @Override
                public java.util.Map getParameterOverrides() {
                    return this.$parameterOverrides;
                }

                @Override
                public void setParameterOverrides(@javax.annotation.Nullable final java.util.Map value) {
                    this.$parameterOverrides = value;
                }

                @Override
                public software.amazon.awscdk.services.iam.Role getRole() {
                    return this.$role;
                }

                @Override
                public void setRole(@javax.annotation.Nullable final software.amazon.awscdk.services.iam.Role value) {
                    this.$role = value;
                }

                @Override
                public software.amazon.awscdk.services.codepipeline.api.ArtifactPath getTemplateConfiguration() {
                    return this.$templateConfiguration;
                }

                @Override
                public void setTemplateConfiguration(@javax.annotation.Nullable final software.amazon.awscdk.services.codepipeline.api.ArtifactPath value) {
                    this.$templateConfiguration = value;
                }

                @Override
                public java.lang.String getStackName() {
                    return this.$stackName;
                }

                @Override
                public void setStackName(final java.lang.String value) {
                    this.$stackName = java.util.Objects.requireNonNull(value, "stackName is required");
                }

                @Override
                public java.lang.String getOutputArtifactName() {
                    return this.$outputArtifactName;
                }

                @Override
                public void setOutputArtifactName(@javax.annotation.Nullable final java.lang.String value) {
                    this.$outputArtifactName = value;
                }

                @Override
                public java.lang.String getOutputFileName() {
                    return this.$outputFileName;
                }

                @Override
                public void setOutputFileName(@javax.annotation.Nullable final java.lang.String value) {
                    this.$outputFileName = value;
                }

                @Override
                public java.lang.Number getRunOrder() {
                    return this.$runOrder;
                }

                @Override
                public void setRunOrder(@javax.annotation.Nullable final java.lang.Number value) {
                    this.$runOrder = value;
                }

                @Override
                public software.amazon.awscdk.services.codepipeline.api.IStage getStage() {
                    return this.$stage;
                }

                @Override
                public void setStage(final software.amazon.awscdk.services.codepipeline.api.IStage value) {
                    this.$stage = java.util.Objects.requireNonNull(value, "stage is required");
                }

            };
        }
    }

    /**
     * A proxy class which represents a concrete javascript instance of this type.
     */
    final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.cloudformation.PipelineCreateReplaceChangeSetActionProps {
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
            super(mode);
        }

        /**
         * Name of the change set to create or update.
         */
        @Override
        public java.lang.String getChangeSetName() {
            return this.jsiiGet("changeSetName", java.lang.String.class);
        }

        /**
         * Name of the change set to create or update.
         */
        @Override
        public void setChangeSetName(final java.lang.String value) {
            this.jsiiSet("changeSetName", java.util.Objects.requireNonNull(value, "changeSetName is required"));
        }

        /**
         * Input artifact with the ChangeSet's CloudFormation template
         */
        @Override
        public software.amazon.awscdk.services.codepipeline.api.ArtifactPath getTemplatePath() {
            return this.jsiiGet("templatePath", software.amazon.awscdk.services.codepipeline.api.ArtifactPath.class);
        }

        /**
         * Input artifact with the ChangeSet's CloudFormation template
         */
        @Override
        public void setTemplatePath(final software.amazon.awscdk.services.codepipeline.api.ArtifactPath value) {
            this.jsiiSet("templatePath", java.util.Objects.requireNonNull(value, "templatePath is required"));
        }

        /**
         * Acknowledge certain changes made as part of deployment
         * 
         * For stacks that contain certain resources, explicit acknowledgement that AWS CloudFormation
         * might create or update those resources. For example, you must specify CAPABILITY_IAM if your
         * stack template contains AWS Identity and Access Management (IAM) resources. For more
         * information, see [Acknowledging IAM Resources in AWS CloudFormation Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities).
         * @default No capabitilities passed, unless `fullPermissions` is true
         */
        @Override
        @javax.annotation.Nullable
        public java.util.List getCapabilities() {
            return this.jsiiGet("capabilities", java.util.List.class);
        }

        /**
         * Acknowledge certain changes made as part of deployment
         * 
         * For stacks that contain certain resources, explicit acknowledgement that AWS CloudFormation
         * might create or update those resources. For example, you must specify CAPABILITY_IAM if your
         * stack template contains AWS Identity and Access Management (IAM) resources. For more
         * information, see [Acknowledging IAM Resources in AWS CloudFormation Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities).
         * @default No capabitilities passed, unless `fullPermissions` is true
         */
        @Override
        public void setCapabilities(@javax.annotation.Nullable final java.util.List value) {
            this.jsiiSet("capabilities", value);
        }

        /**
         * Whether to grant full permissions to CloudFormation while deploying this template.
         * 
         * Setting this to `true` affects the defaults for `role` and `capabilities`, if you
         * don't specify any alternatives.
         * 
         * The default role that will be created for you will have full (i.e., `*`)
         * permissions on all resources, and the deployment will have named IAM
         * capabilities (i.e., able to create all IAM resources).
         * 
         * This is a shorthand that you can use if you fully trust the templates that
         * are deployed in this pipeline. If you want more fine-grained permissions,
         * use `addToRolePolicy` and `capabilities` to control what the CloudFormation
         * deployment is allowed to do.
         * @default false
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Boolean getFullPermissions() {
            return this.jsiiGet("fullPermissions", java.lang.Boolean.class);
        }

        /**
         * Whether to grant full permissions to CloudFormation while deploying this template.
         * 
         * Setting this to `true` affects the defaults for `role` and `capabilities`, if you
         * don't specify any alternatives.
         * 
         * The default role that will be created for you will have full (i.e., `*`)
         * permissions on all resources, and the deployment will have named IAM
         * capabilities (i.e., able to create all IAM resources).
         * 
         * This is a shorthand that you can use if you fully trust the templates that
         * are deployed in this pipeline. If you want more fine-grained permissions,
         * use `addToRolePolicy` and `capabilities` to control what the CloudFormation
         * deployment is allowed to do.
         * @default false
         */
        @Override
        public void setFullPermissions(@javax.annotation.Nullable final java.lang.Boolean value) {
            this.jsiiSet("fullPermissions", value);
        }

        /**
         * Additional template parameters.
         * 
         * Template parameters specified here take precedence over template parameters
         * found in the artifact specified by the `templateConfiguration` property.
         * 
         * We recommend that you use the template configuration file to specify
         * most of your parameter values. Use parameter overrides to specify only
         * dynamic parameter values (values that are unknown until you run the
         * pipeline).
         * 
         * All parameter names must be present in the stack template.
         * 
         * Note: the entire object cannot be more than 1kB.
         * @default No overrides
         */
        @Override
        @javax.annotation.Nullable
        public java.util.Map getParameterOverrides() {
            return this.jsiiGet("parameterOverrides", java.util.Map.class);
        }

        /**
         * Additional template parameters.
         * 
         * Template parameters specified here take precedence over template parameters
         * found in the artifact specified by the `templateConfiguration` property.
         * 
         * We recommend that you use the template configuration file to specify
         * most of your parameter values. Use parameter overrides to specify only
         * dynamic parameter values (values that are unknown until you run the
         * pipeline).
         * 
         * All parameter names must be present in the stack template.
         * 
         * Note: the entire object cannot be more than 1kB.
         * @default No overrides
         */
        @Override
        public void setParameterOverrides(@javax.annotation.Nullable final java.util.Map value) {
            this.jsiiSet("parameterOverrides", value);
        }

        /**
         * IAM role to assume when deploying changes.
         * 
         * If not specified, a fresh role is created. The role is created with zero
         * permissions unless `fullPermissions` is true, in which case the role will have
         * full permissions.
         * @default A fresh role with full or no permissions (depending on the value of `fullPermissions`).
         */
        @Override
        @javax.annotation.Nullable
        public software.amazon.awscdk.services.iam.Role getRole() {
            return this.jsiiGet("role", software.amazon.awscdk.services.iam.Role.class);
        }

        /**
         * IAM role to assume when deploying changes.
         * 
         * If not specified, a fresh role is created. The role is created with zero
         * permissions unless `fullPermissions` is true, in which case the role will have
         * full permissions.
         * @default A fresh role with full or no permissions (depending on the value of `fullPermissions`).
         */
        @Override
        public void setRole(@javax.annotation.Nullable final software.amazon.awscdk.services.iam.Role value) {
            this.jsiiSet("role", value);
        }

        /**
         * Input artifact to use for template parameters values and stack policy.
         * 
         * The template configuration file should contain a JSON object that should look like this:
         * `{ "Parameters": {...}, "Tags": {...}, "StackPolicy": {... }}`. For more information,
         * see [AWS CloudFormation Artifacts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html).
         * 
         * Note that if you include sensitive information, such as passwords, restrict access to this
         * file.
         * @default No template configuration based on input artifacts
         */
        @Override
        @javax.annotation.Nullable
        public software.amazon.awscdk.services.codepipeline.api.ArtifactPath getTemplateConfiguration() {
            return this.jsiiGet("templateConfiguration", software.amazon.awscdk.services.codepipeline.api.ArtifactPath.class);
        }

        /**
         * Input artifact to use for template parameters values and stack policy.
         * 
         * The template configuration file should contain a JSON object that should look like this:
         * `{ "Parameters": {...}, "Tags": {...}, "StackPolicy": {... }}`. For more information,
         * see [AWS CloudFormation Artifacts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html).
         * 
         * Note that if you include sensitive information, such as passwords, restrict access to this
         * file.
         * @default No template configuration based on input artifacts
         */
        @Override
        public void setTemplateConfiguration(@javax.annotation.Nullable final software.amazon.awscdk.services.codepipeline.api.ArtifactPath value) {
            this.jsiiSet("templateConfiguration", value);
        }

        /**
         * The name of the stack to apply this action to
         */
        @Override
        public java.lang.String getStackName() {
            return this.jsiiGet("stackName", java.lang.String.class);
        }

        /**
         * The name of the stack to apply this action to
         */
        @Override
        public void setStackName(final java.lang.String value) {
            this.jsiiSet("stackName", java.util.Objects.requireNonNull(value, "stackName is required"));
        }

        /**
         * The name of the output artifact to generate
         * 
         * Only applied if `outputFileName` is set as well.
         * @default Automatically generated artifact name.
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getOutputArtifactName() {
            return this.jsiiGet("outputArtifactName", java.lang.String.class);
        }

        /**
         * The name of the output artifact to generate
         * 
         * Only applied if `outputFileName` is set as well.
         * @default Automatically generated artifact name.
         */
        @Override
        public void setOutputArtifactName(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("outputArtifactName", value);
        }

        /**
         * A name for the filename in the output artifact to store the AWS CloudFormation call's result.
         * 
         * The file will contain the result of the call to AWS CloudFormation (for example
         * the call to UpdateStack or CreateChangeSet).
         * 
         * AWS CodePipeline adds the file to the output artifact after performing
         * the specified action.
         * @default No output artifact generated
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getOutputFileName() {
            return this.jsiiGet("outputFileName", java.lang.String.class);
        }

        /**
         * A name for the filename in the output artifact to store the AWS CloudFormation call's result.
         * 
         * The file will contain the result of the call to AWS CloudFormation (for example
         * the call to UpdateStack or CreateChangeSet).
         * 
         * AWS CodePipeline adds the file to the output artifact after performing
         * the specified action.
         * @default No output artifact generated
         */
        @Override
        public void setOutputFileName(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("outputFileName", value);
        }

        /**
         * The runOrder property for this Action.
         * RunOrder determines the relative order in which multiple Actions in the same Stage execute.
         * @default 1
         * @see https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Number getRunOrder() {
            return this.jsiiGet("runOrder", java.lang.Number.class);
        }

        /**
         * The runOrder property for this Action.
         * RunOrder determines the relative order in which multiple Actions in the same Stage execute.
         * @default 1
         * @see https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html
         */
        @Override
        public void setRunOrder(@javax.annotation.Nullable final java.lang.Number value) {
            this.jsiiSet("runOrder", value);
        }

        /**
         * The Pipeline Stage to add this Action to.
         */
        @Override
        public software.amazon.awscdk.services.codepipeline.api.IStage getStage() {
            return this.jsiiGet("stage", software.amazon.awscdk.services.codepipeline.api.IStage.class);
        }

        /**
         * The Pipeline Stage to add this Action to.
         */
        @Override
        public void setStage(final software.amazon.awscdk.services.codepipeline.api.IStage value) {
            this.jsiiSet("stage", java.util.Objects.requireNonNull(value, "stage is required"));
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy