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

com.pulumi.azurenative.awsconnector.inputs.AwsCloudFormationStackPropertiesArgs 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.azurenative.awsconnector.inputs;

import com.pulumi.azurenative.awsconnector.enums.Capabilities;
import com.pulumi.azurenative.awsconnector.enums.StackStatus;
import com.pulumi.azurenative.awsconnector.inputs.OutputArgs;
import com.pulumi.azurenative.awsconnector.inputs.TagArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of awsCloudFormationStack
 * 
 */
public final class AwsCloudFormationStackPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final AwsCloudFormationStackPropertiesArgs Empty = new AwsCloudFormationStackPropertiesArgs();

    /**
     * Property capabilities
     * 
     */
    @Import(name="capabilities")
    private @Nullable Output>> capabilities;

    /**
     * @return Property capabilities
     * 
     */
    public Optional>>> capabilities() {
        return Optional.ofNullable(this.capabilities);
    }

    /**
     * Property changeSetId
     * 
     */
    @Import(name="changeSetId")
    private @Nullable Output changeSetId;

    /**
     * @return Property changeSetId
     * 
     */
    public Optional> changeSetId() {
        return Optional.ofNullable(this.changeSetId);
    }

    /**
     * Property creationTime
     * 
     */
    @Import(name="creationTime")
    private @Nullable Output creationTime;

    /**
     * @return Property creationTime
     * 
     */
    public Optional> creationTime() {
        return Optional.ofNullable(this.creationTime);
    }

    /**
     * Property description
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

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

    /**
     * Property disableRollback
     * 
     */
    @Import(name="disableRollback")
    private @Nullable Output disableRollback;

    /**
     * @return Property disableRollback
     * 
     */
    public Optional> disableRollback() {
        return Optional.ofNullable(this.disableRollback);
    }

    /**
     * Property enableTerminationProtection
     * 
     */
    @Import(name="enableTerminationProtection")
    private @Nullable Output enableTerminationProtection;

    /**
     * @return Property enableTerminationProtection
     * 
     */
    public Optional> enableTerminationProtection() {
        return Optional.ofNullable(this.enableTerminationProtection);
    }

    /**
     * Property lastUpdateTime
     * 
     */
    @Import(name="lastUpdateTime")
    private @Nullable Output lastUpdateTime;

    /**
     * @return Property lastUpdateTime
     * 
     */
    public Optional> lastUpdateTime() {
        return Optional.ofNullable(this.lastUpdateTime);
    }

    /**
     * Property notificationARNs
     * 
     */
    @Import(name="notificationARNs")
    private @Nullable Output> notificationARNs;

    /**
     * @return Property notificationARNs
     * 
     */
    public Optional>> notificationARNs() {
        return Optional.ofNullable(this.notificationARNs);
    }

    /**
     * Property outputs
     * 
     */
    @Import(name="outputs")
    private @Nullable Output> outputs;

    /**
     * @return Property outputs
     * 
     */
    public Optional>> outputs() {
        return Optional.ofNullable(this.outputs);
    }

    /**
     * Property parameters
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return Property parameters
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * Property parentId
     * 
     */
    @Import(name="parentId")
    private @Nullable Output parentId;

    /**
     * @return Property parentId
     * 
     */
    public Optional> parentId() {
        return Optional.ofNullable(this.parentId);
    }

    /**
     * Property roleARN
     * 
     */
    @Import(name="roleARN")
    private @Nullable Output roleARN;

    /**
     * @return Property roleARN
     * 
     */
    public Optional> roleARN() {
        return Optional.ofNullable(this.roleARN);
    }

    /**
     * Property rootId
     * 
     */
    @Import(name="rootId")
    private @Nullable Output rootId;

    /**
     * @return Property rootId
     * 
     */
    public Optional> rootId() {
        return Optional.ofNullable(this.rootId);
    }

    /**
     * Property stackId
     * 
     */
    @Import(name="stackId")
    private @Nullable Output stackId;

    /**
     * @return Property stackId
     * 
     */
    public Optional> stackId() {
        return Optional.ofNullable(this.stackId);
    }

    /**
     * Property stackName
     * 
     */
    @Import(name="stackName")
    private @Nullable Output stackName;

    /**
     * @return Property stackName
     * 
     */
    public Optional> stackName() {
        return Optional.ofNullable(this.stackName);
    }

    /**
     * Property stackPolicyBody
     * 
     */
    @Import(name="stackPolicyBody")
    private @Nullable Output stackPolicyBody;

    /**
     * @return Property stackPolicyBody
     * 
     */
    public Optional> stackPolicyBody() {
        return Optional.ofNullable(this.stackPolicyBody);
    }

    /**
     * Property stackPolicyURL
     * 
     */
    @Import(name="stackPolicyURL")
    private @Nullable Output stackPolicyURL;

    /**
     * @return Property stackPolicyURL
     * 
     */
    public Optional> stackPolicyURL() {
        return Optional.ofNullable(this.stackPolicyURL);
    }

    /**
     * Property stackStatus
     * 
     */
    @Import(name="stackStatus")
    private @Nullable Output> stackStatus;

    /**
     * @return Property stackStatus
     * 
     */
    public Optional>> stackStatus() {
        return Optional.ofNullable(this.stackStatus);
    }

    /**
     * Property stackStatusReason
     * 
     */
    @Import(name="stackStatusReason")
    private @Nullable Output stackStatusReason;

    /**
     * @return Property stackStatusReason
     * 
     */
    public Optional> stackStatusReason() {
        return Optional.ofNullable(this.stackStatusReason);
    }

    /**
     * Property tags
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Property tags
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Property templateBody
     * 
     */
    @Import(name="templateBody")
    private @Nullable Output templateBody;

    /**
     * @return Property templateBody
     * 
     */
    public Optional> templateBody() {
        return Optional.ofNullable(this.templateBody);
    }

    /**
     * Property templateURL
     * 
     */
    @Import(name="templateURL")
    private @Nullable Output templateURL;

    /**
     * @return Property templateURL
     * 
     */
    public Optional> templateURL() {
        return Optional.ofNullable(this.templateURL);
    }

    /**
     * Property timeoutInMinutes
     * 
     */
    @Import(name="timeoutInMinutes")
    private @Nullable Output timeoutInMinutes;

    /**
     * @return Property timeoutInMinutes
     * 
     */
    public Optional> timeoutInMinutes() {
        return Optional.ofNullable(this.timeoutInMinutes);
    }

    private AwsCloudFormationStackPropertiesArgs() {}

    private AwsCloudFormationStackPropertiesArgs(AwsCloudFormationStackPropertiesArgs $) {
        this.capabilities = $.capabilities;
        this.changeSetId = $.changeSetId;
        this.creationTime = $.creationTime;
        this.description = $.description;
        this.disableRollback = $.disableRollback;
        this.enableTerminationProtection = $.enableTerminationProtection;
        this.lastUpdateTime = $.lastUpdateTime;
        this.notificationARNs = $.notificationARNs;
        this.outputs = $.outputs;
        this.parameters = $.parameters;
        this.parentId = $.parentId;
        this.roleARN = $.roleARN;
        this.rootId = $.rootId;
        this.stackId = $.stackId;
        this.stackName = $.stackName;
        this.stackPolicyBody = $.stackPolicyBody;
        this.stackPolicyURL = $.stackPolicyURL;
        this.stackStatus = $.stackStatus;
        this.stackStatusReason = $.stackStatusReason;
        this.tags = $.tags;
        this.templateBody = $.templateBody;
        this.templateURL = $.templateURL;
        this.timeoutInMinutes = $.timeoutInMinutes;
    }

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

    public static final class Builder {
        private AwsCloudFormationStackPropertiesArgs $;

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

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

        /**
         * @param capabilities Property capabilities
         * 
         * @return builder
         * 
         */
        public Builder capabilities(@Nullable Output>> capabilities) {
            $.capabilities = capabilities;
            return this;
        }

        /**
         * @param capabilities Property capabilities
         * 
         * @return builder
         * 
         */
        public Builder capabilities(List> capabilities) {
            return capabilities(Output.of(capabilities));
        }

        /**
         * @param capabilities Property capabilities
         * 
         * @return builder
         * 
         */
        public Builder capabilities(Either... capabilities) {
            return capabilities(List.of(capabilities));
        }

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

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

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

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

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

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

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

        /**
         * @param disableRollback Property disableRollback
         * 
         * @return builder
         * 
         */
        public Builder disableRollback(Boolean disableRollback) {
            return disableRollback(Output.of(disableRollback));
        }

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

        /**
         * @param enableTerminationProtection Property enableTerminationProtection
         * 
         * @return builder
         * 
         */
        public Builder enableTerminationProtection(Boolean enableTerminationProtection) {
            return enableTerminationProtection(Output.of(enableTerminationProtection));
        }

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

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

        /**
         * @param notificationARNs Property notificationARNs
         * 
         * @return builder
         * 
         */
        public Builder notificationARNs(@Nullable Output> notificationARNs) {
            $.notificationARNs = notificationARNs;
            return this;
        }

        /**
         * @param notificationARNs Property notificationARNs
         * 
         * @return builder
         * 
         */
        public Builder notificationARNs(List notificationARNs) {
            return notificationARNs(Output.of(notificationARNs));
        }

        /**
         * @param notificationARNs Property notificationARNs
         * 
         * @return builder
         * 
         */
        public Builder notificationARNs(String... notificationARNs) {
            return notificationARNs(List.of(notificationARNs));
        }

        /**
         * @param outputs Property outputs
         * 
         * @return builder
         * 
         */
        public Builder outputs(@Nullable Output> outputs) {
            $.outputs = outputs;
            return this;
        }

        /**
         * @param outputs Property outputs
         * 
         * @return builder
         * 
         */
        public Builder outputs(List outputs) {
            return outputs(Output.of(outputs));
        }

        /**
         * @param outputs Property outputs
         * 
         * @return builder
         * 
         */
        public Builder outputs(OutputArgs... outputs) {
            return outputs(List.of(outputs));
        }

        /**
         * @param parameters Property parameters
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters Property parameters
         * 
         * @return builder
         * 
         */
        public Builder parameters(Map parameters) {
            return parameters(Output.of(parameters));
        }

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

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

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

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

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

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

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

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

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

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

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

        /**
         * @param stackPolicyBody Property stackPolicyBody
         * 
         * @return builder
         * 
         */
        public Builder stackPolicyBody(Object stackPolicyBody) {
            return stackPolicyBody(Output.of(stackPolicyBody));
        }

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

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

        /**
         * @param stackStatus Property stackStatus
         * 
         * @return builder
         * 
         */
        public Builder stackStatus(@Nullable Output> stackStatus) {
            $.stackStatus = stackStatus;
            return this;
        }

        /**
         * @param stackStatus Property stackStatus
         * 
         * @return builder
         * 
         */
        public Builder stackStatus(Either stackStatus) {
            return stackStatus(Output.of(stackStatus));
        }

        /**
         * @param stackStatus Property stackStatus
         * 
         * @return builder
         * 
         */
        public Builder stackStatus(String stackStatus) {
            return stackStatus(Either.ofLeft(stackStatus));
        }

        /**
         * @param stackStatus Property stackStatus
         * 
         * @return builder
         * 
         */
        public Builder stackStatus(StackStatus stackStatus) {
            return stackStatus(Either.ofRight(stackStatus));
        }

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

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

        /**
         * @param tags Property tags
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Property tags
         * 
         * @return builder
         * 
         */
        public Builder tags(List tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tags Property tags
         * 
         * @return builder
         * 
         */
        public Builder tags(TagArgs... tags) {
            return tags(List.of(tags));
        }

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

        /**
         * @param templateBody Property templateBody
         * 
         * @return builder
         * 
         */
        public Builder templateBody(Object templateBody) {
            return templateBody(Output.of(templateBody));
        }

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

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

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

        /**
         * @param timeoutInMinutes Property timeoutInMinutes
         * 
         * @return builder
         * 
         */
        public Builder timeoutInMinutes(Integer timeoutInMinutes) {
            return timeoutInMinutes(Output.of(timeoutInMinutes));
        }

        public AwsCloudFormationStackPropertiesArgs build() {
            return $;
        }
    }

}