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

com.pulumi.aws.cloudformation.StackSetInstanceArgs 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.cloudformation;

import com.pulumi.aws.cloudformation.inputs.StackSetInstanceDeploymentTargetsArgs;
import com.pulumi.aws.cloudformation.inputs.StackSetInstanceOperationPreferencesArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final StackSetInstanceArgs Empty = new StackSetInstanceArgs();

    /**
     * Target AWS Account ID to create a Stack based on the StackSet. Defaults to current account.
     * 
     */
    @Import(name="accountId")
    private @Nullable Output accountId;

    /**
     * @return Target AWS Account ID to create a Stack based on the StackSet. Defaults to current account.
     * 
     */
    public Optional> accountId() {
        return Optional.ofNullable(this.accountId);
    }

    /**
     * Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. Valid values: `SELF` (default), `DELEGATED_ADMIN`.
     * 
     */
    @Import(name="callAs")
    private @Nullable Output callAs;

    /**
     * @return Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. Valid values: `SELF` (default), `DELEGATED_ADMIN`.
     * 
     */
    public Optional> callAs() {
        return Optional.ofNullable(this.callAs);
    }

    /**
     * AWS Organizations accounts to which StackSets deploys. StackSets doesn't deploy stack instances to the organization management account, even if the organization management account is in your organization or in an OU in your organization. Drift detection is not possible for this argument. See deployment_targets below.
     * 
     */
    @Import(name="deploymentTargets")
    private @Nullable Output deploymentTargets;

    /**
     * @return AWS Organizations accounts to which StackSets deploys. StackSets doesn't deploy stack instances to the organization management account, even if the organization management account is in your organization or in an OU in your organization. Drift detection is not possible for this argument. See deployment_targets below.
     * 
     */
    public Optional> deploymentTargets() {
        return Optional.ofNullable(this.deploymentTargets);
    }

    /**
     * Preferences for how AWS CloudFormation performs a stack set operation.
     * 
     */
    @Import(name="operationPreferences")
    private @Nullable Output operationPreferences;

    /**
     * @return Preferences for how AWS CloudFormation performs a stack set operation.
     * 
     */
    public Optional> operationPreferences() {
        return Optional.ofNullable(this.operationPreferences);
    }

    /**
     * Key-value map of input parameters to override from the StackSet for this Instance.
     * 
     */
    @Import(name="parameterOverrides")
    private @Nullable Output> parameterOverrides;

    /**
     * @return Key-value map of input parameters to override from the StackSet for this Instance.
     * 
     */
    public Optional>> parameterOverrides() {
        return Optional.ofNullable(this.parameterOverrides);
    }

    /**
     * Target AWS Region to create a Stack based on the StackSet. Defaults to current region.
     * 
     */
    @Import(name="region")
    private @Nullable Output region;

    /**
     * @return Target AWS Region to create a Stack based on the StackSet. Defaults to current region.
     * 
     */
    public Optional> region() {
        return Optional.ofNullable(this.region);
    }

    /**
     * During resource destroy, remove Instance from StackSet while keeping the Stack and its associated resources. Must be enabled in the state _before_ destroy operation to take effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new StackSet. Defaults to `false`.
     * 
     */
    @Import(name="retainStack")
    private @Nullable Output retainStack;

    /**
     * @return During resource destroy, remove Instance from StackSet while keeping the Stack and its associated resources. Must be enabled in the state _before_ destroy operation to take effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new StackSet. Defaults to `false`.
     * 
     */
    public Optional> retainStack() {
        return Optional.ofNullable(this.retainStack);
    }

    /**
     * Name of the StackSet.
     * 
     */
    @Import(name="stackSetName", required=true)
    private Output stackSetName;

    /**
     * @return Name of the StackSet.
     * 
     */
    public Output stackSetName() {
        return this.stackSetName;
    }

    private StackSetInstanceArgs() {}

    private StackSetInstanceArgs(StackSetInstanceArgs $) {
        this.accountId = $.accountId;
        this.callAs = $.callAs;
        this.deploymentTargets = $.deploymentTargets;
        this.operationPreferences = $.operationPreferences;
        this.parameterOverrides = $.parameterOverrides;
        this.region = $.region;
        this.retainStack = $.retainStack;
        this.stackSetName = $.stackSetName;
    }

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

    public static final class Builder {
        private StackSetInstanceArgs $;

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

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

        /**
         * @param accountId Target AWS Account ID to create a Stack based on the StackSet. Defaults to current account.
         * 
         * @return builder
         * 
         */
        public Builder accountId(@Nullable Output accountId) {
            $.accountId = accountId;
            return this;
        }

        /**
         * @param accountId Target AWS Account ID to create a Stack based on the StackSet. Defaults to current account.
         * 
         * @return builder
         * 
         */
        public Builder accountId(String accountId) {
            return accountId(Output.of(accountId));
        }

        /**
         * @param callAs Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. Valid values: `SELF` (default), `DELEGATED_ADMIN`.
         * 
         * @return builder
         * 
         */
        public Builder callAs(@Nullable Output callAs) {
            $.callAs = callAs;
            return this;
        }

        /**
         * @param callAs Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. Valid values: `SELF` (default), `DELEGATED_ADMIN`.
         * 
         * @return builder
         * 
         */
        public Builder callAs(String callAs) {
            return callAs(Output.of(callAs));
        }

        /**
         * @param deploymentTargets AWS Organizations accounts to which StackSets deploys. StackSets doesn't deploy stack instances to the organization management account, even if the organization management account is in your organization or in an OU in your organization. Drift detection is not possible for this argument. See deployment_targets below.
         * 
         * @return builder
         * 
         */
        public Builder deploymentTargets(@Nullable Output deploymentTargets) {
            $.deploymentTargets = deploymentTargets;
            return this;
        }

        /**
         * @param deploymentTargets AWS Organizations accounts to which StackSets deploys. StackSets doesn't deploy stack instances to the organization management account, even if the organization management account is in your organization or in an OU in your organization. Drift detection is not possible for this argument. See deployment_targets below.
         * 
         * @return builder
         * 
         */
        public Builder deploymentTargets(StackSetInstanceDeploymentTargetsArgs deploymentTargets) {
            return deploymentTargets(Output.of(deploymentTargets));
        }

        /**
         * @param operationPreferences Preferences for how AWS CloudFormation performs a stack set operation.
         * 
         * @return builder
         * 
         */
        public Builder operationPreferences(@Nullable Output operationPreferences) {
            $.operationPreferences = operationPreferences;
            return this;
        }

        /**
         * @param operationPreferences Preferences for how AWS CloudFormation performs a stack set operation.
         * 
         * @return builder
         * 
         */
        public Builder operationPreferences(StackSetInstanceOperationPreferencesArgs operationPreferences) {
            return operationPreferences(Output.of(operationPreferences));
        }

        /**
         * @param parameterOverrides Key-value map of input parameters to override from the StackSet for this Instance.
         * 
         * @return builder
         * 
         */
        public Builder parameterOverrides(@Nullable Output> parameterOverrides) {
            $.parameterOverrides = parameterOverrides;
            return this;
        }

        /**
         * @param parameterOverrides Key-value map of input parameters to override from the StackSet for this Instance.
         * 
         * @return builder
         * 
         */
        public Builder parameterOverrides(Map parameterOverrides) {
            return parameterOverrides(Output.of(parameterOverrides));
        }

        /**
         * @param region Target AWS Region to create a Stack based on the StackSet. Defaults to current region.
         * 
         * @return builder
         * 
         */
        public Builder region(@Nullable Output region) {
            $.region = region;
            return this;
        }

        /**
         * @param region Target AWS Region to create a Stack based on the StackSet. Defaults to current region.
         * 
         * @return builder
         * 
         */
        public Builder region(String region) {
            return region(Output.of(region));
        }

        /**
         * @param retainStack During resource destroy, remove Instance from StackSet while keeping the Stack and its associated resources. Must be enabled in the state _before_ destroy operation to take effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new StackSet. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder retainStack(@Nullable Output retainStack) {
            $.retainStack = retainStack;
            return this;
        }

        /**
         * @param retainStack During resource destroy, remove Instance from StackSet while keeping the Stack and its associated resources. Must be enabled in the state _before_ destroy operation to take effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new StackSet. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder retainStack(Boolean retainStack) {
            return retainStack(Output.of(retainStack));
        }

        /**
         * @param stackSetName Name of the StackSet.
         * 
         * @return builder
         * 
         */
        public Builder stackSetName(Output stackSetName) {
            $.stackSetName = stackSetName;
            return this;
        }

        /**
         * @param stackSetName Name of the StackSet.
         * 
         * @return builder
         * 
         */
        public Builder stackSetName(String stackSetName) {
            return stackSetName(Output.of(stackSetName));
        }

        public StackSetInstanceArgs build() {
            if ($.stackSetName == null) {
                throw new MissingRequiredPropertyException("StackSetInstanceArgs", "stackSetName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy