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

software.amazon.awssdk.services.cloudformation.model.UpdateStackInstancesRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS CloudFormation module holds the client classes that are used for communicating with AWS CloudFormation Service

There is a newer version: 2.29.39
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.cloudformation.model;

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.DefaultValueTrait;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public final class UpdateStackInstancesRequest extends CloudFormationRequest implements
        ToCopyableBuilder {
    private static final SdkField STACK_SET_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("StackSetName").getter(getter(UpdateStackInstancesRequest::stackSetName))
            .setter(setter(Builder::stackSetName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("StackSetName").build()).build();

    private static final SdkField> ACCOUNTS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("Accounts")
            .getter(getter(UpdateStackInstancesRequest::accounts))
            .setter(setter(Builder::accounts))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Accounts").build(),
                    ListTrait
                            .builder()
                            .memberLocationName(null)
                            .memberFieldInfo(
                                    SdkField. builder(MarshallingType.STRING)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("member").build()).build()).build()).build();

    private static final SdkField DEPLOYMENT_TARGETS_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO).memberName("DeploymentTargets")
            .getter(getter(UpdateStackInstancesRequest::deploymentTargets)).setter(setter(Builder::deploymentTargets))
            .constructor(DeploymentTargets::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DeploymentTargets").build()).build();

    private static final SdkField> REGIONS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("Regions")
            .getter(getter(UpdateStackInstancesRequest::regions))
            .setter(setter(Builder::regions))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Regions").build(),
                    ListTrait
                            .builder()
                            .memberLocationName(null)
                            .memberFieldInfo(
                                    SdkField. builder(MarshallingType.STRING)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("member").build()).build()).build()).build();

    private static final SdkField> PARAMETER_OVERRIDES_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("ParameterOverrides")
            .getter(getter(UpdateStackInstancesRequest::parameterOverrides))
            .setter(setter(Builder::parameterOverrides))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ParameterOverrides").build(),
                    ListTrait
                            .builder()
                            .memberLocationName(null)
                            .memberFieldInfo(
                                    SdkField. builder(MarshallingType.SDK_POJO)
                                            .constructor(Parameter::builder)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("member").build()).build()).build()).build();

    private static final SdkField OPERATION_PREFERENCES_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO).memberName("OperationPreferences")
            .getter(getter(UpdateStackInstancesRequest::operationPreferences)).setter(setter(Builder::operationPreferences))
            .constructor(StackSetOperationPreferences::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OperationPreferences").build())
            .build();

    private static final SdkField OPERATION_ID_FIELD = SdkField
            . builder(MarshallingType.STRING)
            .memberName("OperationId")
            .getter(getter(UpdateStackInstancesRequest::operationId))
            .setter(setter(Builder::operationId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("OperationId").build(),
                    DefaultValueTrait.idempotencyToken()).build();

    private static final SdkField CALL_AS_FIELD = SdkField. builder(MarshallingType.STRING).memberName("CallAs")
            .getter(getter(UpdateStackInstancesRequest::callAsAsString)).setter(setter(Builder::callAs))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CallAs").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(STACK_SET_NAME_FIELD,
            ACCOUNTS_FIELD, DEPLOYMENT_TARGETS_FIELD, REGIONS_FIELD, PARAMETER_OVERRIDES_FIELD, OPERATION_PREFERENCES_FIELD,
            OPERATION_ID_FIELD, CALL_AS_FIELD));

    private static final Map> SDK_NAME_TO_FIELD = Collections
            .unmodifiableMap(new HashMap>() {
                {
                    put("StackSetName", STACK_SET_NAME_FIELD);
                    put("Accounts", ACCOUNTS_FIELD);
                    put("DeploymentTargets", DEPLOYMENT_TARGETS_FIELD);
                    put("Regions", REGIONS_FIELD);
                    put("ParameterOverrides", PARAMETER_OVERRIDES_FIELD);
                    put("OperationPreferences", OPERATION_PREFERENCES_FIELD);
                    put("OperationId", OPERATION_ID_FIELD);
                    put("CallAs", CALL_AS_FIELD);
                }
            });

    private final String stackSetName;

    private final List accounts;

    private final DeploymentTargets deploymentTargets;

    private final List regions;

    private final List parameterOverrides;

    private final StackSetOperationPreferences operationPreferences;

    private final String operationId;

    private final String callAs;

    private UpdateStackInstancesRequest(BuilderImpl builder) {
        super(builder);
        this.stackSetName = builder.stackSetName;
        this.accounts = builder.accounts;
        this.deploymentTargets = builder.deploymentTargets;
        this.regions = builder.regions;
        this.parameterOverrides = builder.parameterOverrides;
        this.operationPreferences = builder.operationPreferences;
        this.operationId = builder.operationId;
        this.callAs = builder.callAs;
    }

    /**
     * 

* The name or unique ID of the stack set associated with the stack instances. *

* * @return The name or unique ID of the stack set associated with the stack instances. */ public final String stackSetName() { return stackSetName; } /** * For responses, this returns true if the service returned a value for the Accounts property. This DOES NOT check * that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is * useful because the SDK will never return a null collection or map, but you may need to differentiate between the * service returning nothing (or null) and the service returning an empty collection or map. For requests, this * returns true if a value for the property was specified in the request builder, and false if a value was not * specified. */ public final boolean hasAccounts() { return accounts != null && !(accounts instanceof SdkAutoConstructList); } /** *

* [Self-managed permissions] The names of one or more Amazon Web Services accounts for which you want to update * parameter values for stack instances. The overridden parameter values will be applied to all stack instances in * the specified accounts and Amazon Web Services Regions. *

*

* You can specify Accounts or DeploymentTargets, but not both. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasAccounts} method. *

* * @return [Self-managed permissions] The names of one or more Amazon Web Services accounts for which you want to * update parameter values for stack instances. The overridden parameter values will be applied to all stack * instances in the specified accounts and Amazon Web Services Regions.

*

* You can specify Accounts or DeploymentTargets, but not both. */ public final List accounts() { return accounts; } /** *

* [Service-managed permissions] The Organizations accounts for which you want to update parameter values for stack * instances. If your update targets OUs, the overridden parameter values only apply to the accounts that are * currently in the target OUs and their child OUs. Accounts added to the target OUs and their child OUs in the * future won't use the overridden values. *

*

* You can specify Accounts or DeploymentTargets, but not both. *

* * @return [Service-managed permissions] The Organizations accounts for which you want to update parameter values * for stack instances. If your update targets OUs, the overridden parameter values only apply to the * accounts that are currently in the target OUs and their child OUs. Accounts added to the target OUs and * their child OUs in the future won't use the overridden values.

*

* You can specify Accounts or DeploymentTargets, but not both. */ public final DeploymentTargets deploymentTargets() { return deploymentTargets; } /** * For responses, this returns true if the service returned a value for the Regions property. This DOES NOT check * that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is * useful because the SDK will never return a null collection or map, but you may need to differentiate between the * service returning nothing (or null) and the service returning an empty collection or map. For requests, this * returns true if a value for the property was specified in the request builder, and false if a value was not * specified. */ public final boolean hasRegions() { return regions != null && !(regions instanceof SdkAutoConstructList); } /** *

* The names of one or more Amazon Web Services Regions in which you want to update parameter values for stack * instances. The overridden parameter values will be applied to all stack instances in the specified accounts and * Amazon Web Services Regions. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasRegions} method. *

* * @return The names of one or more Amazon Web Services Regions in which you want to update parameter values for * stack instances. The overridden parameter values will be applied to all stack instances in the specified * accounts and Amazon Web Services Regions. */ public final List regions() { return regions; } /** * For responses, this returns true if the service returned a value for the ParameterOverrides property. This DOES * NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasParameterOverrides() { return parameterOverrides != null && !(parameterOverrides instanceof SdkAutoConstructList); } /** *

* A list of input parameters whose values you want to update for the specified stack instances. *

*

* Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon Web * Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets parameter * values during stack instance update operations: *

*
    *
  • *

    * To override the current value for a parameter, include the parameter and specify its value. *

    *
  • *
  • *

    * To leave an overridden parameter set to its present value, include the parameter and specify * UsePreviousValue as true. (You can't specify both a value and set * UsePreviousValue to true.) *

    *
  • *
  • *

    * To set an overridden parameter back to the value specified in the stack set, specify a parameter list but don't * include the parameter in the list. *

    *
  • *
  • *

    * To leave all parameters set to their present values, don't specify this property at all. *

    *
  • *
*

* During stack set updates, any parameter values overridden for a stack instance aren't updated, but retain their * overridden value. *

*

* You can only override the parameter values that are specified in the stack set; to add or delete a * parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a * template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the * stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter * value using UpdateStackInstances. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasParameterOverrides} method. *

* * @return A list of input parameters whose values you want to update for the specified stack instances.

*

* Any overridden parameter values will be applied to all stack instances in the specified accounts and * Amazon Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation * sets parameter values during stack instance update operations: *

*
    *
  • *

    * To override the current value for a parameter, include the parameter and specify its value. *

    *
  • *
  • *

    * To leave an overridden parameter set to its present value, include the parameter and specify * UsePreviousValue as true. (You can't specify both a value and set * UsePreviousValue to true.) *

    *
  • *
  • *

    * To set an overridden parameter back to the value specified in the stack set, specify a parameter list but * don't include the parameter in the list. *

    *
  • *
  • *

    * To leave all parameters set to their present values, don't specify this property at all. *

    *
  • *
*

* During stack set updates, any parameter values overridden for a stack instance aren't updated, but retain * their overridden value. *

*

* You can only override the parameter values that are specified in the stack set; to add or delete a * parameter itself, use UpdateStackSet to update the stack set template. If you add a * parameter to a template, before you can override the parameter value specified in the stack set you must * first use UpdateStackSet to update all stack instances with the updated template and parameter value specified * in the stack set. Once a stack instance has been updated with the new parameter, you can then override * the parameter value using UpdateStackInstances. */ public final List parameterOverrides() { return parameterOverrides; } /** *

* Preferences for how CloudFormation performs this stack set operation. *

* * @return Preferences for how CloudFormation performs this stack set operation. */ public final StackSetOperationPreferences operationPreferences() { return operationPreferences; } /** *

* The unique identifier for this stack set operation. *

*

* The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the stack set * operation only once, even if you retry the request multiple times. You might retry stack set operation requests * to ensure that CloudFormation successfully received them. *

*

* If you don't specify an operation ID, the SDK generates one automatically. *

* * @return The unique identifier for this stack set operation.

*

* The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the stack * set operation only once, even if you retry the request multiple times. You might retry stack set * operation requests to ensure that CloudFormation successfully received them. *

*

* If you don't specify an operation ID, the SDK generates one automatically. */ public final String operationId() { return operationId; } /** *

* [Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's * management account or as a delegated administrator in a member account. *

*

* By default, SELF is specified. Use SELF for stack sets with self-managed permissions. *

*
    *
  • *

    * If you are signed in to the management account, specify SELF. *

    *
  • *
  • *

    * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. *

    *

    * Your Amazon Web Services account must be registered as a delegated administrator in the management account. For * more information, see Register a delegated administrator in the CloudFormation User Guide. *

    *
  • *
*

* If the service returns an enum value that is not available in the current SDK version, {@link #callAs} will * return {@link CallAs#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #callAsAsString}. *

* * @return [Service-managed permissions] Specifies whether you are acting as an account administrator in the * organization's management account or as a delegated administrator in a member account.

*

* By default, SELF is specified. Use SELF for stack sets with self-managed * permissions. *

*
    *
  • *

    * If you are signed in to the management account, specify SELF. *

    *
  • *
  • *

    * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. *

    *

    * Your Amazon Web Services account must be registered as a delegated administrator in the management * account. For more information, see Register a delegated administrator in the CloudFormation User Guide. *

    *
  • * @see CallAs */ public final CallAs callAs() { return CallAs.fromValue(callAs); } /** *

    * [Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's * management account or as a delegated administrator in a member account. *

    *

    * By default, SELF is specified. Use SELF for stack sets with self-managed permissions. *

    *
      *
    • *

      * If you are signed in to the management account, specify SELF. *

      *
    • *
    • *

      * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. *

      *

      * Your Amazon Web Services account must be registered as a delegated administrator in the management account. For * more information, see Register a delegated administrator in the CloudFormation User Guide. *

      *
    • *
    *

    * If the service returns an enum value that is not available in the current SDK version, {@link #callAs} will * return {@link CallAs#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available from * {@link #callAsAsString}. *

    * * @return [Service-managed permissions] Specifies whether you are acting as an account administrator in the * organization's management account or as a delegated administrator in a member account.

    *

    * By default, SELF is specified. Use SELF for stack sets with self-managed * permissions. *

    *
      *
    • *

      * If you are signed in to the management account, specify SELF. *

      *
    • *
    • *

      * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. *

      *

      * Your Amazon Web Services account must be registered as a delegated administrator in the management * account. For more information, see Register a delegated administrator in the CloudFormation User Guide. *

      *
    • * @see CallAs */ public final String callAsAsString() { return callAs; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(stackSetName()); hashCode = 31 * hashCode + Objects.hashCode(hasAccounts() ? accounts() : null); hashCode = 31 * hashCode + Objects.hashCode(deploymentTargets()); hashCode = 31 * hashCode + Objects.hashCode(hasRegions() ? regions() : null); hashCode = 31 * hashCode + Objects.hashCode(hasParameterOverrides() ? parameterOverrides() : null); hashCode = 31 * hashCode + Objects.hashCode(operationPreferences()); hashCode = 31 * hashCode + Objects.hashCode(operationId()); hashCode = 31 * hashCode + Objects.hashCode(callAsAsString()); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof UpdateStackInstancesRequest)) { return false; } UpdateStackInstancesRequest other = (UpdateStackInstancesRequest) obj; return Objects.equals(stackSetName(), other.stackSetName()) && hasAccounts() == other.hasAccounts() && Objects.equals(accounts(), other.accounts()) && Objects.equals(deploymentTargets(), other.deploymentTargets()) && hasRegions() == other.hasRegions() && Objects.equals(regions(), other.regions()) && hasParameterOverrides() == other.hasParameterOverrides() && Objects.equals(parameterOverrides(), other.parameterOverrides()) && Objects.equals(operationPreferences(), other.operationPreferences()) && Objects.equals(operationId(), other.operationId()) && Objects.equals(callAsAsString(), other.callAsAsString()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("UpdateStackInstancesRequest").add("StackSetName", stackSetName()) .add("Accounts", hasAccounts() ? accounts() : null).add("DeploymentTargets", deploymentTargets()) .add("Regions", hasRegions() ? regions() : null) .add("ParameterOverrides", hasParameterOverrides() ? parameterOverrides() : null) .add("OperationPreferences", operationPreferences()).add("OperationId", operationId()) .add("CallAs", callAsAsString()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "StackSetName": return Optional.ofNullable(clazz.cast(stackSetName())); case "Accounts": return Optional.ofNullable(clazz.cast(accounts())); case "DeploymentTargets": return Optional.ofNullable(clazz.cast(deploymentTargets())); case "Regions": return Optional.ofNullable(clazz.cast(regions())); case "ParameterOverrides": return Optional.ofNullable(clazz.cast(parameterOverrides())); case "OperationPreferences": return Optional.ofNullable(clazz.cast(operationPreferences())); case "OperationId": return Optional.ofNullable(clazz.cast(operationId())); case "CallAs": return Optional.ofNullable(clazz.cast(callAsAsString())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } @Override public final Map> sdkFieldNameToField() { return SDK_NAME_TO_FIELD; } private static Function getter(Function g) { return obj -> g.apply((UpdateStackInstancesRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends CloudFormationRequest.Builder, SdkPojo, CopyableBuilder { /** *

      * The name or unique ID of the stack set associated with the stack instances. *

      * * @param stackSetName * The name or unique ID of the stack set associated with the stack instances. * @return Returns a reference to this object so that method calls can be chained together. */ Builder stackSetName(String stackSetName); /** *

      * [Self-managed permissions] The names of one or more Amazon Web Services accounts for which you want to update * parameter values for stack instances. The overridden parameter values will be applied to all stack instances * in the specified accounts and Amazon Web Services Regions. *

      *

      * You can specify Accounts or DeploymentTargets, but not both. *

      * * @param accounts * [Self-managed permissions] The names of one or more Amazon Web Services accounts for which you want to * update parameter values for stack instances. The overridden parameter values will be applied to all * stack instances in the specified accounts and Amazon Web Services Regions.

      *

      * You can specify Accounts or DeploymentTargets, but not both. * @return Returns a reference to this object so that method calls can be chained together. */ Builder accounts(Collection accounts); /** *

      * [Self-managed permissions] The names of one or more Amazon Web Services accounts for which you want to update * parameter values for stack instances. The overridden parameter values will be applied to all stack instances * in the specified accounts and Amazon Web Services Regions. *

      *

      * You can specify Accounts or DeploymentTargets, but not both. *

      * * @param accounts * [Self-managed permissions] The names of one or more Amazon Web Services accounts for which you want to * update parameter values for stack instances. The overridden parameter values will be applied to all * stack instances in the specified accounts and Amazon Web Services Regions.

      *

      * You can specify Accounts or DeploymentTargets, but not both. * @return Returns a reference to this object so that method calls can be chained together. */ Builder accounts(String... accounts); /** *

      * [Service-managed permissions] The Organizations accounts for which you want to update parameter values for * stack instances. If your update targets OUs, the overridden parameter values only apply to the accounts that * are currently in the target OUs and their child OUs. Accounts added to the target OUs and their child OUs in * the future won't use the overridden values. *

      *

      * You can specify Accounts or DeploymentTargets, but not both. *

      * * @param deploymentTargets * [Service-managed permissions] The Organizations accounts for which you want to update parameter values * for stack instances. If your update targets OUs, the overridden parameter values only apply to the * accounts that are currently in the target OUs and their child OUs. Accounts added to the target OUs * and their child OUs in the future won't use the overridden values.

      *

      * You can specify Accounts or DeploymentTargets, but not both. * @return Returns a reference to this object so that method calls can be chained together. */ Builder deploymentTargets(DeploymentTargets deploymentTargets); /** *

      * [Service-managed permissions] The Organizations accounts for which you want to update parameter values for * stack instances. If your update targets OUs, the overridden parameter values only apply to the accounts that * are currently in the target OUs and their child OUs. Accounts added to the target OUs and their child OUs in * the future won't use the overridden values. *

      *

      * You can specify Accounts or DeploymentTargets, but not both. *

      * This is a convenience method that creates an instance of the {@link DeploymentTargets.Builder} avoiding the * need to create one manually via {@link DeploymentTargets#builder()}. * *

      * When the {@link Consumer} completes, {@link DeploymentTargets.Builder#build()} is called immediately and its * result is passed to {@link #deploymentTargets(DeploymentTargets)}. * * @param deploymentTargets * a consumer that will call methods on {@link DeploymentTargets.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #deploymentTargets(DeploymentTargets) */ default Builder deploymentTargets(Consumer deploymentTargets) { return deploymentTargets(DeploymentTargets.builder().applyMutation(deploymentTargets).build()); } /** *

      * The names of one or more Amazon Web Services Regions in which you want to update parameter values for stack * instances. The overridden parameter values will be applied to all stack instances in the specified accounts * and Amazon Web Services Regions. *

      * * @param regions * The names of one or more Amazon Web Services Regions in which you want to update parameter values for * stack instances. The overridden parameter values will be applied to all stack instances in the * specified accounts and Amazon Web Services Regions. * @return Returns a reference to this object so that method calls can be chained together. */ Builder regions(Collection regions); /** *

      * The names of one or more Amazon Web Services Regions in which you want to update parameter values for stack * instances. The overridden parameter values will be applied to all stack instances in the specified accounts * and Amazon Web Services Regions. *

      * * @param regions * The names of one or more Amazon Web Services Regions in which you want to update parameter values for * stack instances. The overridden parameter values will be applied to all stack instances in the * specified accounts and Amazon Web Services Regions. * @return Returns a reference to this object so that method calls can be chained together. */ Builder regions(String... regions); /** *

      * A list of input parameters whose values you want to update for the specified stack instances. *

      *

      * Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon * Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets * parameter values during stack instance update operations: *

      *
        *
      • *

        * To override the current value for a parameter, include the parameter and specify its value. *

        *
      • *
      • *

        * To leave an overridden parameter set to its present value, include the parameter and specify * UsePreviousValue as true. (You can't specify both a value and set * UsePreviousValue to true.) *

        *
      • *
      • *

        * To set an overridden parameter back to the value specified in the stack set, specify a parameter list but * don't include the parameter in the list. *

        *
      • *
      • *

        * To leave all parameters set to their present values, don't specify this property at all. *

        *
      • *
      *

      * During stack set updates, any parameter values overridden for a stack instance aren't updated, but retain * their overridden value. *

      *

      * You can only override the parameter values that are specified in the stack set; to add or delete a * parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to * a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet * to update all stack instances with the updated template and parameter value specified in the stack set. * Once a stack instance has been updated with the new parameter, you can then override the parameter value * using UpdateStackInstances. *

      * * @param parameterOverrides * A list of input parameters whose values you want to update for the specified stack instances.

      *

      * Any overridden parameter values will be applied to all stack instances in the specified accounts and * Amazon Web Services Regions. When specifying parameters and their values, be aware of how * CloudFormation sets parameter values during stack instance update operations: *

      *
        *
      • *

        * To override the current value for a parameter, include the parameter and specify its value. *

        *
      • *
      • *

        * To leave an overridden parameter set to its present value, include the parameter and specify * UsePreviousValue as true. (You can't specify both a value and set * UsePreviousValue to true.) *

        *
      • *
      • *

        * To set an overridden parameter back to the value specified in the stack set, specify a parameter list * but don't include the parameter in the list. *

        *
      • *
      • *

        * To leave all parameters set to their present values, don't specify this property at all. *

        *
      • *
      *

      * During stack set updates, any parameter values overridden for a stack instance aren't updated, but * retain their overridden value. *

      *

      * You can only override the parameter values that are specified in the stack set; to add or * delete a parameter itself, use UpdateStackSet to update the stack set template. If you * add a parameter to a template, before you can override the parameter value specified in the stack set * you must first use UpdateStackSet to update all stack instances with the updated template and parameter value * specified in the stack set. Once a stack instance has been updated with the new parameter, you can * then override the parameter value using UpdateStackInstances. * @return Returns a reference to this object so that method calls can be chained together. */ Builder parameterOverrides(Collection parameterOverrides); /** *

      * A list of input parameters whose values you want to update for the specified stack instances. *

      *

      * Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon * Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets * parameter values during stack instance update operations: *

      *
        *
      • *

        * To override the current value for a parameter, include the parameter and specify its value. *

        *
      • *
      • *

        * To leave an overridden parameter set to its present value, include the parameter and specify * UsePreviousValue as true. (You can't specify both a value and set * UsePreviousValue to true.) *

        *
      • *
      • *

        * To set an overridden parameter back to the value specified in the stack set, specify a parameter list but * don't include the parameter in the list. *

        *
      • *
      • *

        * To leave all parameters set to their present values, don't specify this property at all. *

        *
      • *
      *

      * During stack set updates, any parameter values overridden for a stack instance aren't updated, but retain * their overridden value. *

      *

      * You can only override the parameter values that are specified in the stack set; to add or delete a * parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to * a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet * to update all stack instances with the updated template and parameter value specified in the stack set. * Once a stack instance has been updated with the new parameter, you can then override the parameter value * using UpdateStackInstances. *

      * * @param parameterOverrides * A list of input parameters whose values you want to update for the specified stack instances.

      *

      * Any overridden parameter values will be applied to all stack instances in the specified accounts and * Amazon Web Services Regions. When specifying parameters and their values, be aware of how * CloudFormation sets parameter values during stack instance update operations: *

      *
        *
      • *

        * To override the current value for a parameter, include the parameter and specify its value. *

        *
      • *
      • *

        * To leave an overridden parameter set to its present value, include the parameter and specify * UsePreviousValue as true. (You can't specify both a value and set * UsePreviousValue to true.) *

        *
      • *
      • *

        * To set an overridden parameter back to the value specified in the stack set, specify a parameter list * but don't include the parameter in the list. *

        *
      • *
      • *

        * To leave all parameters set to their present values, don't specify this property at all. *

        *
      • *
      *

      * During stack set updates, any parameter values overridden for a stack instance aren't updated, but * retain their overridden value. *

      *

      * You can only override the parameter values that are specified in the stack set; to add or * delete a parameter itself, use UpdateStackSet to update the stack set template. If you * add a parameter to a template, before you can override the parameter value specified in the stack set * you must first use UpdateStackSet to update all stack instances with the updated template and parameter value * specified in the stack set. Once a stack instance has been updated with the new parameter, you can * then override the parameter value using UpdateStackInstances. * @return Returns a reference to this object so that method calls can be chained together. */ Builder parameterOverrides(Parameter... parameterOverrides); /** *

      * A list of input parameters whose values you want to update for the specified stack instances. *

      *

      * Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon * Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets * parameter values during stack instance update operations: *

      *
        *
      • *

        * To override the current value for a parameter, include the parameter and specify its value. *

        *
      • *
      • *

        * To leave an overridden parameter set to its present value, include the parameter and specify * UsePreviousValue as true. (You can't specify both a value and set * UsePreviousValue to true.) *

        *
      • *
      • *

        * To set an overridden parameter back to the value specified in the stack set, specify a parameter list but * don't include the parameter in the list. *

        *
      • *
      • *

        * To leave all parameters set to their present values, don't specify this property at all. *

        *
      • *
      *

      * During stack set updates, any parameter values overridden for a stack instance aren't updated, but retain * their overridden value. *

      *

      * You can only override the parameter values that are specified in the stack set; to add or delete a * parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to * a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet * to update all stack instances with the updated template and parameter value specified in the stack set. * Once a stack instance has been updated with the new parameter, you can then override the parameter value * using UpdateStackInstances. *

      * This is a convenience method that creates an instance of the * {@link software.amazon.awssdk.services.cloudformation.model.Parameter.Builder} avoiding the need to create * one manually via {@link software.amazon.awssdk.services.cloudformation.model.Parameter#builder()}. * *

      * When the {@link Consumer} completes, * {@link software.amazon.awssdk.services.cloudformation.model.Parameter.Builder#build()} is called immediately * and its result is passed to {@link #parameterOverrides(List)}. * * @param parameterOverrides * a consumer that will call methods on * {@link software.amazon.awssdk.services.cloudformation.model.Parameter.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #parameterOverrides(java.util.Collection) */ Builder parameterOverrides(Consumer... parameterOverrides); /** *

      * Preferences for how CloudFormation performs this stack set operation. *

      * * @param operationPreferences * Preferences for how CloudFormation performs this stack set operation. * @return Returns a reference to this object so that method calls can be chained together. */ Builder operationPreferences(StackSetOperationPreferences operationPreferences); /** *

      * Preferences for how CloudFormation performs this stack set operation. *

      * This is a convenience method that creates an instance of the {@link StackSetOperationPreferences.Builder} * avoiding the need to create one manually via {@link StackSetOperationPreferences#builder()}. * *

      * When the {@link Consumer} completes, {@link StackSetOperationPreferences.Builder#build()} is called * immediately and its result is passed to {@link #operationPreferences(StackSetOperationPreferences)}. * * @param operationPreferences * a consumer that will call methods on {@link StackSetOperationPreferences.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #operationPreferences(StackSetOperationPreferences) */ default Builder operationPreferences(Consumer operationPreferences) { return operationPreferences(StackSetOperationPreferences.builder().applyMutation(operationPreferences).build()); } /** *

      * The unique identifier for this stack set operation. *

      *

      * The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the stack set * operation only once, even if you retry the request multiple times. You might retry stack set operation * requests to ensure that CloudFormation successfully received them. *

      *

      * If you don't specify an operation ID, the SDK generates one automatically. *

      * * @param operationId * The unique identifier for this stack set operation.

      *

      * The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the * stack set operation only once, even if you retry the request multiple times. You might retry stack set * operation requests to ensure that CloudFormation successfully received them. *

      *

      * If you don't specify an operation ID, the SDK generates one automatically. * @return Returns a reference to this object so that method calls can be chained together. */ Builder operationId(String operationId); /** *

      * [Service-managed permissions] Specifies whether you are acting as an account administrator in the * organization's management account or as a delegated administrator in a member account. *

      *

      * By default, SELF is specified. Use SELF for stack sets with self-managed * permissions. *

      *
        *
      • *

        * If you are signed in to the management account, specify SELF. *

        *
      • *
      • *

        * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. *

        *

        * Your Amazon Web Services account must be registered as a delegated administrator in the management account. * For more information, see Register a delegated administrator in the CloudFormation User Guide. *

        *
      • *
      * * @param callAs * [Service-managed permissions] Specifies whether you are acting as an account administrator in the * organization's management account or as a delegated administrator in a member account.

      *

      * By default, SELF is specified. Use SELF for stack sets with self-managed * permissions. *

      *
        *
      • *

        * If you are signed in to the management account, specify SELF. *

        *
      • *
      • *

        * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. *

        *

        * Your Amazon Web Services account must be registered as a delegated administrator in the management * account. For more information, see Register a delegated administrator in the CloudFormation User Guide. *

        *
      • * @see CallAs * @return Returns a reference to this object so that method calls can be chained together. * @see CallAs */ Builder callAs(String callAs); /** *

        * [Service-managed permissions] Specifies whether you are acting as an account administrator in the * organization's management account or as a delegated administrator in a member account. *

        *

        * By default, SELF is specified. Use SELF for stack sets with self-managed * permissions. *

        *
          *
        • *

          * If you are signed in to the management account, specify SELF. *

          *
        • *
        • *

          * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. *

          *

          * Your Amazon Web Services account must be registered as a delegated administrator in the management account. * For more information, see Register a delegated administrator in the CloudFormation User Guide. *

          *
        • *
        * * @param callAs * [Service-managed permissions] Specifies whether you are acting as an account administrator in the * organization's management account or as a delegated administrator in a member account.

        *

        * By default, SELF is specified. Use SELF for stack sets with self-managed * permissions. *

        *
          *
        • *

          * If you are signed in to the management account, specify SELF. *

          *
        • *
        • *

          * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. *

          *

          * Your Amazon Web Services account must be registered as a delegated administrator in the management * account. For more information, see Register a delegated administrator in the CloudFormation User Guide. *

          *
        • * @see CallAs * @return Returns a reference to this object so that method calls can be chained together. * @see CallAs */ Builder callAs(CallAs callAs); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends CloudFormationRequest.BuilderImpl implements Builder { private String stackSetName; private List accounts = DefaultSdkAutoConstructList.getInstance(); private DeploymentTargets deploymentTargets; private List regions = DefaultSdkAutoConstructList.getInstance(); private List parameterOverrides = DefaultSdkAutoConstructList.getInstance(); private StackSetOperationPreferences operationPreferences; private String operationId; private String callAs; private BuilderImpl() { } private BuilderImpl(UpdateStackInstancesRequest model) { super(model); stackSetName(model.stackSetName); accounts(model.accounts); deploymentTargets(model.deploymentTargets); regions(model.regions); parameterOverrides(model.parameterOverrides); operationPreferences(model.operationPreferences); operationId(model.operationId); callAs(model.callAs); } public final String getStackSetName() { return stackSetName; } public final void setStackSetName(String stackSetName) { this.stackSetName = stackSetName; } @Override public final Builder stackSetName(String stackSetName) { this.stackSetName = stackSetName; return this; } public final Collection getAccounts() { if (accounts instanceof SdkAutoConstructList) { return null; } return accounts; } public final void setAccounts(Collection accounts) { this.accounts = AccountListCopier.copy(accounts); } @Override public final Builder accounts(Collection accounts) { this.accounts = AccountListCopier.copy(accounts); return this; } @Override @SafeVarargs public final Builder accounts(String... accounts) { accounts(Arrays.asList(accounts)); return this; } public final DeploymentTargets.Builder getDeploymentTargets() { return deploymentTargets != null ? deploymentTargets.toBuilder() : null; } public final void setDeploymentTargets(DeploymentTargets.BuilderImpl deploymentTargets) { this.deploymentTargets = deploymentTargets != null ? deploymentTargets.build() : null; } @Override public final Builder deploymentTargets(DeploymentTargets deploymentTargets) { this.deploymentTargets = deploymentTargets; return this; } public final Collection getRegions() { if (regions instanceof SdkAutoConstructList) { return null; } return regions; } public final void setRegions(Collection regions) { this.regions = RegionListCopier.copy(regions); } @Override public final Builder regions(Collection regions) { this.regions = RegionListCopier.copy(regions); return this; } @Override @SafeVarargs public final Builder regions(String... regions) { regions(Arrays.asList(regions)); return this; } public final List getParameterOverrides() { List result = ParametersCopier.copyToBuilder(this.parameterOverrides); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setParameterOverrides(Collection parameterOverrides) { this.parameterOverrides = ParametersCopier.copyFromBuilder(parameterOverrides); } @Override public final Builder parameterOverrides(Collection parameterOverrides) { this.parameterOverrides = ParametersCopier.copy(parameterOverrides); return this; } @Override @SafeVarargs public final Builder parameterOverrides(Parameter... parameterOverrides) { parameterOverrides(Arrays.asList(parameterOverrides)); return this; } @Override @SafeVarargs public final Builder parameterOverrides(Consumer... parameterOverrides) { parameterOverrides(Stream.of(parameterOverrides).map(c -> Parameter.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final StackSetOperationPreferences.Builder getOperationPreferences() { return operationPreferences != null ? operationPreferences.toBuilder() : null; } public final void setOperationPreferences(StackSetOperationPreferences.BuilderImpl operationPreferences) { this.operationPreferences = operationPreferences != null ? operationPreferences.build() : null; } @Override public final Builder operationPreferences(StackSetOperationPreferences operationPreferences) { this.operationPreferences = operationPreferences; return this; } public final String getOperationId() { return operationId; } public final void setOperationId(String operationId) { this.operationId = operationId; } @Override public final Builder operationId(String operationId) { this.operationId = operationId; return this; } public final String getCallAs() { return callAs; } public final void setCallAs(String callAs) { this.callAs = callAs; } @Override public final Builder callAs(String callAs) { this.callAs = callAs; return this; } @Override public final Builder callAs(CallAs callAs) { this.callAs(callAs == null ? null : callAs.toString()); return this; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public UpdateStackInstancesRequest build() { return new UpdateStackInstancesRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } @Override public Map> sdkFieldNameToField() { return SDK_NAME_TO_FIELD; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy