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

com.pulumi.aws.cloudformation.StackInstancesArgs 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.72.0
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.StackInstancesDeploymentTargetsArgs;
import com.pulumi.aws.cloudformation.inputs.StackInstancesOperationPreferencesArgs;
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.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final StackInstancesArgs Empty = new StackInstancesArgs();

    /**
     * Accounts where you want to create stack instances in the specified `regions`. You can specify either `accounts` or `deployment_targets`, but not both.
     * 
     */
    @Import(name="accounts")
    private @Nullable Output> accounts;

    /**
     * @return Accounts where you want to create stack instances in the specified `regions`. You can specify either `accounts` or `deployment_targets`, but not both.
     * 
     */
    public Optional>> accounts() {
        return Optional.ofNullable(this.accounts);
    }

    /**
     * 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 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 for which to create stack instances in the `regions`. stack sets 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 most of this argument. See deployment_targets below.
     * 
     */
    @Import(name="deploymentTargets")
    private @Nullable Output deploymentTargets;

    /**
     * @return AWS Organizations accounts for which to create stack instances in the `regions`. stack sets 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 most of this argument. See deployment_targets below.
     * 
     */
    public Optional> deploymentTargets() {
        return Optional.ofNullable(this.deploymentTargets);
    }

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

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

    /**
     * Key-value map of input parameters to override from the stack set for these instances. This argument's drift detection is limited to the first account and region since each instance can have unique parameters.
     * 
     */
    @Import(name="parameterOverrides")
    private @Nullable Output> parameterOverrides;

    /**
     * @return Key-value map of input parameters to override from the stack set for these instances. This argument's drift detection is limited to the first account and region since each instance can have unique parameters.
     * 
     */
    public Optional>> parameterOverrides() {
        return Optional.ofNullable(this.parameterOverrides);
    }

    /**
     * Regions where you want to create stack instances in the specified `accounts`.
     * 
     */
    @Import(name="regions")
    private @Nullable Output> regions;

    /**
     * @return Regions where you want to create stack instances in the specified `accounts`.
     * 
     */
    public Optional>> regions() {
        return Optional.ofNullable(this.regions);
    }

    /**
     * Whether to remove the stack instances from the stack set, but not delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set. To retain the stack, ensure `retain_stacks = true` has been successfully applied _before_ an apply that would destroy the resource. Defaults to `false`.
     * 
     */
    @Import(name="retainStacks")
    private @Nullable Output retainStacks;

    /**
     * @return Whether to remove the stack instances from the stack set, but not delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set. To retain the stack, ensure `retain_stacks = true` has been successfully applied _before_ an apply that would destroy the resource. Defaults to `false`.
     * 
     */
    public Optional> retainStacks() {
        return Optional.ofNullable(this.retainStacks);
    }

    /**
     * Name of the stack set.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="stackSetName", required=true)
    private Output stackSetName;

    /**
     * @return Name of the stack set.
     * 
     * The following arguments are optional:
     * 
     */
    public Output stackSetName() {
        return this.stackSetName;
    }

    private StackInstancesArgs() {}

    private StackInstancesArgs(StackInstancesArgs $) {
        this.accounts = $.accounts;
        this.callAs = $.callAs;
        this.deploymentTargets = $.deploymentTargets;
        this.operationPreferences = $.operationPreferences;
        this.parameterOverrides = $.parameterOverrides;
        this.regions = $.regions;
        this.retainStacks = $.retainStacks;
        this.stackSetName = $.stackSetName;
    }

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

    public static final class Builder {
        private StackInstancesArgs $;

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

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

        /**
         * @param accounts Accounts where you want to create stack instances in the specified `regions`. You can specify either `accounts` or `deployment_targets`, but not both.
         * 
         * @return builder
         * 
         */
        public Builder accounts(@Nullable Output> accounts) {
            $.accounts = accounts;
            return this;
        }

        /**
         * @param accounts Accounts where you want to create stack instances in the specified `regions`. You can specify either `accounts` or `deployment_targets`, but not both.
         * 
         * @return builder
         * 
         */
        public Builder accounts(List accounts) {
            return accounts(Output.of(accounts));
        }

        /**
         * @param accounts Accounts where you want to create stack instances in the specified `regions`. You can specify either `accounts` or `deployment_targets`, but not both.
         * 
         * @return builder
         * 
         */
        public Builder accounts(String... accounts) {
            return accounts(List.of(accounts));
        }

        /**
         * @param callAs 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 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 for which to create stack instances in the `regions`. stack sets 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 most of this argument. See deployment_targets below.
         * 
         * @return builder
         * 
         */
        public Builder deploymentTargets(@Nullable Output deploymentTargets) {
            $.deploymentTargets = deploymentTargets;
            return this;
        }

        /**
         * @param deploymentTargets AWS Organizations accounts for which to create stack instances in the `regions`. stack sets 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 most of this argument. See deployment_targets below.
         * 
         * @return builder
         * 
         */
        public Builder deploymentTargets(StackInstancesDeploymentTargetsArgs deploymentTargets) {
            return deploymentTargets(Output.of(deploymentTargets));
        }

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

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

        /**
         * @param parameterOverrides Key-value map of input parameters to override from the stack set for these instances. This argument's drift detection is limited to the first account and region since each instance can have unique parameters.
         * 
         * @return builder
         * 
         */
        public Builder parameterOverrides(@Nullable Output> parameterOverrides) {
            $.parameterOverrides = parameterOverrides;
            return this;
        }

        /**
         * @param parameterOverrides Key-value map of input parameters to override from the stack set for these instances. This argument's drift detection is limited to the first account and region since each instance can have unique parameters.
         * 
         * @return builder
         * 
         */
        public Builder parameterOverrides(Map parameterOverrides) {
            return parameterOverrides(Output.of(parameterOverrides));
        }

        /**
         * @param regions Regions where you want to create stack instances in the specified `accounts`.
         * 
         * @return builder
         * 
         */
        public Builder regions(@Nullable Output> regions) {
            $.regions = regions;
            return this;
        }

        /**
         * @param regions Regions where you want to create stack instances in the specified `accounts`.
         * 
         * @return builder
         * 
         */
        public Builder regions(List regions) {
            return regions(Output.of(regions));
        }

        /**
         * @param regions Regions where you want to create stack instances in the specified `accounts`.
         * 
         * @return builder
         * 
         */
        public Builder regions(String... regions) {
            return regions(List.of(regions));
        }

        /**
         * @param retainStacks Whether to remove the stack instances from the stack set, but not delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set. To retain the stack, ensure `retain_stacks = true` has been successfully applied _before_ an apply that would destroy the resource. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder retainStacks(@Nullable Output retainStacks) {
            $.retainStacks = retainStacks;
            return this;
        }

        /**
         * @param retainStacks Whether to remove the stack instances from the stack set, but not delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set. To retain the stack, ensure `retain_stacks = true` has been successfully applied _before_ an apply that would destroy the resource. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder retainStacks(Boolean retainStacks) {
            return retainStacks(Output.of(retainStacks));
        }

        /**
         * @param stackSetName Name of the stack set.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder stackSetName(Output stackSetName) {
            $.stackSetName = stackSetName;
            return this;
        }

        /**
         * @param stackSetName Name of the stack set.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder stackSetName(String stackSetName) {
            return stackSetName(Output.of(stackSetName));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy