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

software.amazon.awssdk.services.opsworks.model.CloneStackRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS OpsWorks module holds the client classes that are used for communicating with AWS OpsWorks 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.opsworks.model;

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
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 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.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.traits.MapTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructMap;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructMap;
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 CloneStackRequest extends OpsWorksRequest implements
        ToCopyableBuilder {
    private static final SdkField SOURCE_STACK_ID_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("SourceStackId").getter(getter(CloneStackRequest::sourceStackId)).setter(setter(Builder::sourceStackId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SourceStackId").build()).build();

    private static final SdkField NAME_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Name")
            .getter(getter(CloneStackRequest::name)).setter(setter(Builder::name))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Name").build()).build();

    private static final SdkField REGION_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Region")
            .getter(getter(CloneStackRequest::region)).setter(setter(Builder::region))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Region").build()).build();

    private static final SdkField VPC_ID_FIELD = SdkField. builder(MarshallingType.STRING).memberName("VpcId")
            .getter(getter(CloneStackRequest::vpcId)).setter(setter(Builder::vpcId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("VpcId").build()).build();

    private static final SdkField> ATTRIBUTES_FIELD = SdkField
            .> builder(MarshallingType.MAP)
            .memberName("Attributes")
            .getter(getter(CloneStackRequest::attributesAsStrings))
            .setter(setter(Builder::attributesWithStrings))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Attributes").build(),
                    MapTrait.builder()
                            .keyLocationName("key")
                            .valueLocationName("value")
                            .valueFieldInfo(
                                    SdkField. builder(MarshallingType.STRING)
                                            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD)
                                                    .locationName("value").build()).build()).build()).build();

    private static final SdkField SERVICE_ROLE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("ServiceRoleArn").getter(getter(CloneStackRequest::serviceRoleArn))
            .setter(setter(Builder::serviceRoleArn))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServiceRoleArn").build()).build();

    private static final SdkField DEFAULT_INSTANCE_PROFILE_ARN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DefaultInstanceProfileArn").getter(getter(CloneStackRequest::defaultInstanceProfileArn))
            .setter(setter(Builder::defaultInstanceProfileArn))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DefaultInstanceProfileArn").build())
            .build();

    private static final SdkField DEFAULT_OS_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DefaultOs").getter(getter(CloneStackRequest::defaultOs)).setter(setter(Builder::defaultOs))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DefaultOs").build()).build();

    private static final SdkField HOSTNAME_THEME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("HostnameTheme").getter(getter(CloneStackRequest::hostnameTheme)).setter(setter(Builder::hostnameTheme))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("HostnameTheme").build()).build();

    private static final SdkField DEFAULT_AVAILABILITY_ZONE_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DefaultAvailabilityZone").getter(getter(CloneStackRequest::defaultAvailabilityZone))
            .setter(setter(Builder::defaultAvailabilityZone))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DefaultAvailabilityZone").build())
            .build();

    private static final SdkField DEFAULT_SUBNET_ID_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DefaultSubnetId").getter(getter(CloneStackRequest::defaultSubnetId))
            .setter(setter(Builder::defaultSubnetId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DefaultSubnetId").build()).build();

    private static final SdkField CUSTOM_JSON_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("CustomJson").getter(getter(CloneStackRequest::customJson)).setter(setter(Builder::customJson))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CustomJson").build()).build();

    private static final SdkField CONFIGURATION_MANAGER_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO).memberName("ConfigurationManager")
            .getter(getter(CloneStackRequest::configurationManager)).setter(setter(Builder::configurationManager))
            .constructor(StackConfigurationManager::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ConfigurationManager").build())
            .build();

    private static final SdkField CHEF_CONFIGURATION_FIELD = SdkField
            . builder(MarshallingType.SDK_POJO).memberName("ChefConfiguration")
            .getter(getter(CloneStackRequest::chefConfiguration)).setter(setter(Builder::chefConfiguration))
            .constructor(ChefConfiguration::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ChefConfiguration").build()).build();

    private static final SdkField USE_CUSTOM_COOKBOOKS_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("UseCustomCookbooks").getter(getter(CloneStackRequest::useCustomCookbooks))
            .setter(setter(Builder::useCustomCookbooks))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UseCustomCookbooks").build())
            .build();

    private static final SdkField USE_OPSWORKS_SECURITY_GROUPS_FIELD = SdkField
            . builder(MarshallingType.BOOLEAN).memberName("UseOpsworksSecurityGroups")
            .getter(getter(CloneStackRequest::useOpsworksSecurityGroups)).setter(setter(Builder::useOpsworksSecurityGroups))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("UseOpsworksSecurityGroups").build())
            .build();

    private static final SdkField CUSTOM_COOKBOOKS_SOURCE_FIELD = SdkField. builder(MarshallingType.SDK_POJO)
            .memberName("CustomCookbooksSource").getter(getter(CloneStackRequest::customCookbooksSource))
            .setter(setter(Builder::customCookbooksSource)).constructor(Source::builder)
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CustomCookbooksSource").build())
            .build();

    private static final SdkField DEFAULT_SSH_KEY_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DefaultSshKeyName").getter(getter(CloneStackRequest::defaultSshKeyName))
            .setter(setter(Builder::defaultSshKeyName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DefaultSshKeyName").build()).build();

    private static final SdkField CLONE_PERMISSIONS_FIELD = SdkField. builder(MarshallingType.BOOLEAN)
            .memberName("ClonePermissions").getter(getter(CloneStackRequest::clonePermissions))
            .setter(setter(Builder::clonePermissions))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ClonePermissions").build()).build();

    private static final SdkField> CLONE_APP_IDS_FIELD = SdkField
            .> builder(MarshallingType.LIST)
            .memberName("CloneAppIds")
            .getter(getter(CloneStackRequest::cloneAppIds))
            .setter(setter(Builder::cloneAppIds))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CloneAppIds").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 DEFAULT_ROOT_DEVICE_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("DefaultRootDeviceType").getter(getter(CloneStackRequest::defaultRootDeviceTypeAsString))
            .setter(setter(Builder::defaultRootDeviceType))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DefaultRootDeviceType").build())
            .build();

    private static final SdkField AGENT_VERSION_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("AgentVersion").getter(getter(CloneStackRequest::agentVersion)).setter(setter(Builder::agentVersion))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AgentVersion").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(SOURCE_STACK_ID_FIELD,
            NAME_FIELD, REGION_FIELD, VPC_ID_FIELD, ATTRIBUTES_FIELD, SERVICE_ROLE_ARN_FIELD, DEFAULT_INSTANCE_PROFILE_ARN_FIELD,
            DEFAULT_OS_FIELD, HOSTNAME_THEME_FIELD, DEFAULT_AVAILABILITY_ZONE_FIELD, DEFAULT_SUBNET_ID_FIELD, CUSTOM_JSON_FIELD,
            CONFIGURATION_MANAGER_FIELD, CHEF_CONFIGURATION_FIELD, USE_CUSTOM_COOKBOOKS_FIELD,
            USE_OPSWORKS_SECURITY_GROUPS_FIELD, CUSTOM_COOKBOOKS_SOURCE_FIELD, DEFAULT_SSH_KEY_NAME_FIELD,
            CLONE_PERMISSIONS_FIELD, CLONE_APP_IDS_FIELD, DEFAULT_ROOT_DEVICE_TYPE_FIELD, AGENT_VERSION_FIELD));

    private final String sourceStackId;

    private final String name;

    private final String region;

    private final String vpcId;

    private final Map attributes;

    private final String serviceRoleArn;

    private final String defaultInstanceProfileArn;

    private final String defaultOs;

    private final String hostnameTheme;

    private final String defaultAvailabilityZone;

    private final String defaultSubnetId;

    private final String customJson;

    private final StackConfigurationManager configurationManager;

    private final ChefConfiguration chefConfiguration;

    private final Boolean useCustomCookbooks;

    private final Boolean useOpsworksSecurityGroups;

    private final Source customCookbooksSource;

    private final String defaultSshKeyName;

    private final Boolean clonePermissions;

    private final List cloneAppIds;

    private final String defaultRootDeviceType;

    private final String agentVersion;

    private CloneStackRequest(BuilderImpl builder) {
        super(builder);
        this.sourceStackId = builder.sourceStackId;
        this.name = builder.name;
        this.region = builder.region;
        this.vpcId = builder.vpcId;
        this.attributes = builder.attributes;
        this.serviceRoleArn = builder.serviceRoleArn;
        this.defaultInstanceProfileArn = builder.defaultInstanceProfileArn;
        this.defaultOs = builder.defaultOs;
        this.hostnameTheme = builder.hostnameTheme;
        this.defaultAvailabilityZone = builder.defaultAvailabilityZone;
        this.defaultSubnetId = builder.defaultSubnetId;
        this.customJson = builder.customJson;
        this.configurationManager = builder.configurationManager;
        this.chefConfiguration = builder.chefConfiguration;
        this.useCustomCookbooks = builder.useCustomCookbooks;
        this.useOpsworksSecurityGroups = builder.useOpsworksSecurityGroups;
        this.customCookbooksSource = builder.customCookbooksSource;
        this.defaultSshKeyName = builder.defaultSshKeyName;
        this.clonePermissions = builder.clonePermissions;
        this.cloneAppIds = builder.cloneAppIds;
        this.defaultRootDeviceType = builder.defaultRootDeviceType;
        this.agentVersion = builder.agentVersion;
    }

    /**
     * 

* The source stack ID. *

* * @return The source stack ID. */ public final String sourceStackId() { return sourceStackId; } /** *

* The cloned stack name. *

* * @return The cloned stack name. */ public final String name() { return name; } /** *

* The cloned stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see Regions and Endpoints. *

* * @return The cloned stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see Regions and Endpoints. */ public final String region() { return region; } /** *

* The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances * are launched into this VPC, and you cannot change the ID later. *

*
    *
  • *

    * If your account supports EC2 Classic, the default value is no VPC. *

    *
  • *
  • *

    * If your account does not support EC2 Classic, the default value is the default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone * or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. * If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone * for the specified region and the corresponding default VPC subnet ID, respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. * For more information about default VPC and EC2 Classic, see Supported Platforms. *

* * @return The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All * instances are launched into this VPC, and you cannot change the ID later.

*
    *
  • *

    * If your account supports EC2 Classic, the default value is no VPC. *

    *
  • *
  • *

    * If your account does not support EC2 Classic, the default value is the default VPC for the specified * region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified either the * DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks * Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks * sets these parameters to the first valid Availability Zone for the specified region and the corresponding * default VPC subnet ID, respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a * VPC. For more information about default VPC and EC2 Classic, see Supported * Platforms. */ public final String vpcId() { return vpcId; } /** *

* A list of stack attributes and values as key/value pairs to be added to the cloned stack. *

*

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

*

* You can use {@link #hasAttributes()} to see if a value was sent in this field. *

* * @return A list of stack attributes and values as key/value pairs to be added to the cloned stack. */ public final Map attributes() { return StackAttributesCopier.copyStringToEnum(attributes); } /** * Returns true if the Attributes property was specified by the sender (it may be empty), or false if the sender did * not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS service. */ public final boolean hasAttributes() { return attributes != null && !(attributes instanceof SdkAutoConstructMap); } /** *

* A list of stack attributes and values as key/value pairs to be added to the cloned stack. *

*

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

*

* You can use {@link #hasAttributes()} to see if a value was sent in this field. *

* * @return A list of stack attributes and values as key/value pairs to be added to the cloned stack. */ public final Map attributesAsStrings() { return attributes; } /** *

* The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS * resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. * If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for you. You can obtain an * existing stack's IAM ARN programmatically by calling DescribePermissions. For more information about IAM * ARNs, see Using * Identifiers. *

* *

* You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You * can specify the source stack's service role ARN, if you prefer, but you must do so explicitly. *

*
* * @return The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with * AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an * existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role * for you. You can obtain an existing stack's IAM ARN programmatically by calling * DescribePermissions. For more information about IAM ARNs, see Using Identifiers.

* *

* You must set this parameter to a valid service role ARN or the action will fail; there is no default * value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly. *

*/ public final String serviceRoleArn() { return serviceRoleArn; } /** *

* The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 * instances. For more information about IAM ARNs, see Using Identifiers. *

* * @return The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 * instances. For more information about IAM ARNs, see Using Identifiers. */ public final String defaultInstanceProfileArn() { return defaultInstanceProfileArn; } /** *

* The stack's operating system, which must be set to one of the following. *

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, * Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, * Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS Linux 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard, or * Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more * information about how to use custom AMIs with OpsWorks, see Using Custom * AMIs. *

    *
  • *
*

* The default option is the parent stack's operating system. For more information about supported operating * systems, see AWS * OpsWorks Stacks Operating Systems. *

* *

* You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to * Windows or Windows to Linux. *

*
* * @return The stack's operating system, which must be set to one of the following.

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, * Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, * Amazon Linux 2016.03, Amazon Linux 2015.09, or * Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS * , or Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS Linux 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard, or * Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. * For more information about how to use custom AMIs with OpsWorks, see Using * Custom AMIs. *

    *
  • *
*

* The default option is the parent stack's operating system. For more information about supported operating * systems, see AWS * OpsWorks Stacks Operating Systems. *

* *

* You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux * to Windows or Windows to Linux. *

*/ public final String defaultOs() { return defaultOs; } /** *

* The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names * for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which * creates host names by appending integers to the layer's short name. The other themes are: *

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities_and_Titans *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the * current theme. *

* * @return The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host * names for the stack's instances. By default, HostnameTheme is set to * Layer_Dependent, which creates host names by appending integers to the layer's short name. * The other themes are:

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities_and_Titans *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based * on the current theme. */ public final String hostnameTheme() { return hostnameTheme; } /** *

* The cloned stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a * value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the * VpcId parameter description. *

* * @return The cloned stack's default Availability Zone, which must be in the specified region. For more * information, see Regions and * Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the * same zone. For more information, see the VpcId parameter description. */ public final String defaultAvailabilityZone() { return defaultAvailabilityZone; } /** *

* The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId * parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. * If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For * information on default values and when this parameter is required, see the VpcId parameter * description. *

* * @return The stack's default VPC subnet ID. This parameter is required if you specify a value for the * VpcId parameter. All instances are launched into this subnet unless you specify otherwise * when you create the instance. If you also specify a value for DefaultAvailabilityZone, the * subnet must be in that zone. For information on default values and when this parameter is required, see * the VpcId parameter description. */ public final String defaultSubnetId() { return defaultSubnetId; } /** *

* A string that contains user-defined, custom JSON. It is used to override the corresponding default stack * configuration JSON values. The string should be in the following format: *

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information about custom JSON, see Use Custom JSON to Modify * the Stack Configuration Attributes *

* * @return A string that contains user-defined, custom JSON. It is used to override the corresponding default stack * configuration JSON values. The string should be in the following format:

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information about custom JSON, see Use Custom JSON to * Modify the Stack Configuration Attributes */ public final String customJson() { return customJson; } /** *

* The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify * the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux * stacks is currently 12. *

* * @return The configuration manager. When you clone a stack we recommend that you use the configuration manager to * specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default * value for Linux stacks is currently 12. */ public final StackConfigurationManager configurationManager() { return configurationManager; } /** *

* A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on * Chef 11.10 stacks. For more information, see Create a New Stack. *

* * @return A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf * version on Chef 11.10 stacks. For more information, see Create a New * Stack. */ public final ChefConfiguration chefConfiguration() { return chefConfiguration; } /** *

* Whether to use custom cookbooks. *

* * @return Whether to use custom cookbooks. */ public final Boolean useCustomCookbooks() { return useCustomCookbooks; } /** *

* Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. *

*

* AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated * with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom * security groups. UseOpsworksSecurityGroups has the following settings: *

*
    *
  • *

    * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer * (default setting). You can associate additional security groups with a layer after you create it but you cannot * delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate * Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you * create. However, you can still manually associate a built-in security group with a layer on creation; custom * security groups are required only for those layers that need custom settings. *

    *
  • *
*

* For more information, see Create a New Stack. *

* * @return Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

*

* AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are * associated with layers by default. With UseOpsworksSecurityGroups you can instead provide * your own custom security groups. UseOpsworksSecurityGroups has the following settings: *

*
    *
  • *

    * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each * layer (default setting). You can associate additional security groups with a layer after you create it * but you cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create * appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with * each layer that you create. However, you can still manually associate a built-in security group with a * layer on creation; custom security groups are required only for those layers that need custom settings. *

    *
  • *
*

* For more information, see Create a New * Stack. */ public final Boolean useOpsworksSecurityGroups() { return useOpsworksSecurityGroups; } /** *

* Contains the information required to retrieve an app or cookbook from a repository. For more information, see Adding Apps or Cookbooks and Recipes. *

* * @return Contains the information required to retrieve an app or cookbook from a repository. For more information, * see Adding * Apps or Cookbooks and * Recipes. */ public final Source customCookbooksSource() { return customCookbooksSource; } /** *

* A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks * installs the public key on the instance and you can use the private key with an SSH client to log in to the * instance. For more information, see Using SSH to Communicate * with an Instance and Managing SSH Access. * You can override this setting by specifying a different key pair, or no key pair, when you create an instance. *

* * @return A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS * OpsWorks installs the public key on the instance and you can use the private key with an SSH client to * log in to the instance. For more information, see Using SSH to * Communicate with an Instance and Managing SSH * Access. You can override this setting by specifying a different key pair, or no key pair, when you create an * instance. */ public final String defaultSshKeyName() { return defaultSshKeyName; } /** *

* Whether to clone the source stack's permissions. *

* * @return Whether to clone the source stack's permissions. */ public final Boolean clonePermissions() { return clonePermissions; } /** * Returns true if the CloneAppIds property was specified by the sender (it may be empty), or false if the sender * did not specify the value (it will be empty). For responses returned by the SDK, the sender is the AWS service. */ public final boolean hasCloneAppIds() { return cloneAppIds != null && !(cloneAppIds instanceof SdkAutoConstructList); } /** *

* A list of source stack app IDs to be included in the cloned stack. *

*

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

*

* You can use {@link #hasCloneAppIds()} to see if a value was sent in this field. *

* * @return A list of source stack app IDs to be included in the cloned stack. */ public final List cloneAppIds() { return cloneAppIds; } /** *

* The default root device type. This value is used by default for all instances in the cloned stack, but you can * override it when you create an instance. For more information, see Storage for the Root Device. *

*

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

* * @return The default root device type. This value is used by default for all instances in the cloned stack, but * you can override it when you create an instance. For more information, see Storage for the Root Device. * @see RootDeviceType */ public final RootDeviceType defaultRootDeviceType() { return RootDeviceType.fromValue(defaultRootDeviceType); } /** *

* The default root device type. This value is used by default for all instances in the cloned stack, but you can * override it when you create an instance. For more information, see Storage for the Root Device. *

*

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

* * @return The default root device type. This value is used by default for all instances in the cloned stack, but * you can override it when you create an instance. For more information, see Storage for the Root Device. * @see RootDeviceType */ public final String defaultRootDeviceTypeAsString() { return defaultRootDeviceType; } /** *

* The default AWS OpsWorks Stacks agent version. You have the following options: *

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent * versions on the stack's instances as soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit * the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version * on the stack's instances. *

    *
  • *
*

* The default setting is LATEST. To specify an agent version, you must use the complete version * number, not the abbreviated number shown on the console. For a list of available agent version numbers, call * DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2. *

* *

* You can also specify an agent version when you create or update an instance, which overrides the stack's default * setting. *

*
* * @return The default AWS OpsWorks Stacks agent version. You have the following options:

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new * agent versions on the stack's instances as soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must * edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs * that version on the stack's instances. *

    *
  • *
*

* The default setting is LATEST. To specify an agent version, you must use the complete * version number, not the abbreviated number shown on the console. For a list of available agent version * numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2. *

* *

* You can also specify an agent version when you create or update an instance, which overrides the stack's * default setting. *

*/ public final String agentVersion() { return agentVersion; } @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(sourceStackId()); hashCode = 31 * hashCode + Objects.hashCode(name()); hashCode = 31 * hashCode + Objects.hashCode(region()); hashCode = 31 * hashCode + Objects.hashCode(vpcId()); hashCode = 31 * hashCode + Objects.hashCode(hasAttributes() ? attributesAsStrings() : null); hashCode = 31 * hashCode + Objects.hashCode(serviceRoleArn()); hashCode = 31 * hashCode + Objects.hashCode(defaultInstanceProfileArn()); hashCode = 31 * hashCode + Objects.hashCode(defaultOs()); hashCode = 31 * hashCode + Objects.hashCode(hostnameTheme()); hashCode = 31 * hashCode + Objects.hashCode(defaultAvailabilityZone()); hashCode = 31 * hashCode + Objects.hashCode(defaultSubnetId()); hashCode = 31 * hashCode + Objects.hashCode(customJson()); hashCode = 31 * hashCode + Objects.hashCode(configurationManager()); hashCode = 31 * hashCode + Objects.hashCode(chefConfiguration()); hashCode = 31 * hashCode + Objects.hashCode(useCustomCookbooks()); hashCode = 31 * hashCode + Objects.hashCode(useOpsworksSecurityGroups()); hashCode = 31 * hashCode + Objects.hashCode(customCookbooksSource()); hashCode = 31 * hashCode + Objects.hashCode(defaultSshKeyName()); hashCode = 31 * hashCode + Objects.hashCode(clonePermissions()); hashCode = 31 * hashCode + Objects.hashCode(hasCloneAppIds() ? cloneAppIds() : null); hashCode = 31 * hashCode + Objects.hashCode(defaultRootDeviceTypeAsString()); hashCode = 31 * hashCode + Objects.hashCode(agentVersion()); 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 CloneStackRequest)) { return false; } CloneStackRequest other = (CloneStackRequest) obj; return Objects.equals(sourceStackId(), other.sourceStackId()) && Objects.equals(name(), other.name()) && Objects.equals(region(), other.region()) && Objects.equals(vpcId(), other.vpcId()) && hasAttributes() == other.hasAttributes() && Objects.equals(attributesAsStrings(), other.attributesAsStrings()) && Objects.equals(serviceRoleArn(), other.serviceRoleArn()) && Objects.equals(defaultInstanceProfileArn(), other.defaultInstanceProfileArn()) && Objects.equals(defaultOs(), other.defaultOs()) && Objects.equals(hostnameTheme(), other.hostnameTheme()) && Objects.equals(defaultAvailabilityZone(), other.defaultAvailabilityZone()) && Objects.equals(defaultSubnetId(), other.defaultSubnetId()) && Objects.equals(customJson(), other.customJson()) && Objects.equals(configurationManager(), other.configurationManager()) && Objects.equals(chefConfiguration(), other.chefConfiguration()) && Objects.equals(useCustomCookbooks(), other.useCustomCookbooks()) && Objects.equals(useOpsworksSecurityGroups(), other.useOpsworksSecurityGroups()) && Objects.equals(customCookbooksSource(), other.customCookbooksSource()) && Objects.equals(defaultSshKeyName(), other.defaultSshKeyName()) && Objects.equals(clonePermissions(), other.clonePermissions()) && hasCloneAppIds() == other.hasCloneAppIds() && Objects.equals(cloneAppIds(), other.cloneAppIds()) && Objects.equals(defaultRootDeviceTypeAsString(), other.defaultRootDeviceTypeAsString()) && Objects.equals(agentVersion(), other.agentVersion()); } /** * 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("CloneStackRequest").add("SourceStackId", sourceStackId()).add("Name", name()) .add("Region", region()).add("VpcId", vpcId()).add("Attributes", hasAttributes() ? attributesAsStrings() : null) .add("ServiceRoleArn", serviceRoleArn()).add("DefaultInstanceProfileArn", defaultInstanceProfileArn()) .add("DefaultOs", defaultOs()).add("HostnameTheme", hostnameTheme()) .add("DefaultAvailabilityZone", defaultAvailabilityZone()).add("DefaultSubnetId", defaultSubnetId()) .add("CustomJson", customJson()).add("ConfigurationManager", configurationManager()) .add("ChefConfiguration", chefConfiguration()).add("UseCustomCookbooks", useCustomCookbooks()) .add("UseOpsworksSecurityGroups", useOpsworksSecurityGroups()) .add("CustomCookbooksSource", customCookbooksSource()).add("DefaultSshKeyName", defaultSshKeyName()) .add("ClonePermissions", clonePermissions()).add("CloneAppIds", hasCloneAppIds() ? cloneAppIds() : null) .add("DefaultRootDeviceType", defaultRootDeviceTypeAsString()).add("AgentVersion", agentVersion()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "SourceStackId": return Optional.ofNullable(clazz.cast(sourceStackId())); case "Name": return Optional.ofNullable(clazz.cast(name())); case "Region": return Optional.ofNullable(clazz.cast(region())); case "VpcId": return Optional.ofNullable(clazz.cast(vpcId())); case "Attributes": return Optional.ofNullable(clazz.cast(attributesAsStrings())); case "ServiceRoleArn": return Optional.ofNullable(clazz.cast(serviceRoleArn())); case "DefaultInstanceProfileArn": return Optional.ofNullable(clazz.cast(defaultInstanceProfileArn())); case "DefaultOs": return Optional.ofNullable(clazz.cast(defaultOs())); case "HostnameTheme": return Optional.ofNullable(clazz.cast(hostnameTheme())); case "DefaultAvailabilityZone": return Optional.ofNullable(clazz.cast(defaultAvailabilityZone())); case "DefaultSubnetId": return Optional.ofNullable(clazz.cast(defaultSubnetId())); case "CustomJson": return Optional.ofNullable(clazz.cast(customJson())); case "ConfigurationManager": return Optional.ofNullable(clazz.cast(configurationManager())); case "ChefConfiguration": return Optional.ofNullable(clazz.cast(chefConfiguration())); case "UseCustomCookbooks": return Optional.ofNullable(clazz.cast(useCustomCookbooks())); case "UseOpsworksSecurityGroups": return Optional.ofNullable(clazz.cast(useOpsworksSecurityGroups())); case "CustomCookbooksSource": return Optional.ofNullable(clazz.cast(customCookbooksSource())); case "DefaultSshKeyName": return Optional.ofNullable(clazz.cast(defaultSshKeyName())); case "ClonePermissions": return Optional.ofNullable(clazz.cast(clonePermissions())); case "CloneAppIds": return Optional.ofNullable(clazz.cast(cloneAppIds())); case "DefaultRootDeviceType": return Optional.ofNullable(clazz.cast(defaultRootDeviceTypeAsString())); case "AgentVersion": return Optional.ofNullable(clazz.cast(agentVersion())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((CloneStackRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends OpsWorksRequest.Builder, SdkPojo, CopyableBuilder { /** *

* The source stack ID. *

* * @param sourceStackId * The source stack ID. * @return Returns a reference to this object so that method calls can be chained together. */ Builder sourceStackId(String sourceStackId); /** *

* The cloned stack name. *

* * @param name * The cloned stack name. * @return Returns a reference to this object so that method calls can be chained together. */ Builder name(String name); /** *

* The cloned stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see Regions and Endpoints. *

* * @param region * The cloned stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see Regions and Endpoints. * @return Returns a reference to this object so that method calls can be chained together. */ Builder region(String region); /** *

* The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All * instances are launched into this VPC, and you cannot change the ID later. *

*
    *
  • *

    * If your account supports EC2 Classic, the default value is no VPC. *

    *
  • *
  • *

    * If your account does not support EC2 Classic, the default value is the default VPC for the specified region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified either the * DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks * infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these * parameters to the first valid Availability Zone for the specified region and the corresponding default VPC * subnet ID, respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a * VPC. For more information about default VPC and EC2 Classic, see Supported * Platforms. *

* * @param vpcId * The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. * All instances are launched into this VPC, and you cannot change the ID later.

*
    *
  • *

    * If your account supports EC2 Classic, the default value is no VPC. *

    *
  • *
  • *

    * If your account does not support EC2 Classic, the default value is the default VPC for the specified * region. *

    *
  • *
*

* If the VPC ID corresponds to a default VPC and you have specified either the * DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks * Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks * sets these parameters to the first valid Availability Zone for the specified region and the * corresponding default VPC subnet ID, respectively. *

*

* If you specify a nondefault VPC ID, note the following: *

*
    *
  • *

    * It must belong to a VPC in your account that is in the specified region. *

    *
  • *
  • *

    * You must specify a value for DefaultSubnetId. *

    *
  • *
*

* For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in * a VPC. For more information about default VPC and EC2 Classic, see Supported * Platforms. * @return Returns a reference to this object so that method calls can be chained together. */ Builder vpcId(String vpcId); /** *

* A list of stack attributes and values as key/value pairs to be added to the cloned stack. *

* * @param attributes * A list of stack attributes and values as key/value pairs to be added to the cloned stack. * @return Returns a reference to this object so that method calls can be chained together. */ Builder attributesWithStrings(Map attributes); /** *

* A list of stack attributes and values as key/value pairs to be added to the cloned stack. *

* * @param attributes * A list of stack attributes and values as key/value pairs to be added to the cloned stack. * @return Returns a reference to this object so that method calls can be chained together. */ Builder attributes(Map attributes); /** *

* The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS * resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM * role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for you. You can * obtain an existing stack's IAM ARN programmatically by calling DescribePermissions. For more * information about IAM ARNs, see Using Identifiers. *

* *

* You must set this parameter to a valid service role ARN or the action will fail; there is no default value. * You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly. *

*
* * @param serviceRoleArn * The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with * AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an * existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role * for you. You can obtain an existing stack's IAM ARN programmatically by calling * DescribePermissions. For more information about IAM ARNs, see Using * Identifiers.

*

* You must set this parameter to a valid service role ARN or the action will fail; there is no default * value. You can specify the source stack's service role ARN, if you prefer, but you must do so * explicitly. *

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

* The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 * instances. For more information about IAM ARNs, see Using Identifiers. *

* * @param defaultInstanceProfileArn * The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's * EC2 instances. For more information about IAM ARNs, see Using Identifiers. * @return Returns a reference to this object so that method calls can be chained together. */ Builder defaultInstanceProfileArn(String defaultInstanceProfileArn); /** *

* The stack's operating system, which must be set to one of the following. *

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, * Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, * Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or * Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS Linux 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard, or * Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For * more information about how to use custom AMIs with OpsWorks, see Using Custom * AMIs. *

    *
  • *
*

* The default option is the parent stack's operating system. For more information about supported operating * systems, see AWS * OpsWorks Stacks Operating Systems. *

* *

* You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to * Windows or Windows to Linux. *

*
* * @param defaultOs * The stack's operating system, which must be set to one of the following.

*
    *
  • *

    * A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, * Amazon Linux 2016.09, Amazon Linux 2016.03, * Amazon Linux 2015.09, or Amazon Linux 2015.03. *

    *
  • *
  • *

    * A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, * Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS. *

    *
  • *
  • *

    * CentOS Linux 7 *

    *
  • *
  • *

    * Red Hat Enterprise Linux 7 *

    *
  • *
  • *

    * Microsoft Windows Server 2012 R2 Base, * Microsoft Windows Server 2012 R2 with SQL Server Express, * Microsoft Windows Server 2012 R2 with SQL Server Standard, or * Microsoft Windows Server 2012 R2 with SQL Server Web. *

    *
  • *
  • *

    * A custom AMI: Custom. You specify the custom AMI you want to use when you create * instances. For more information about how to use custom AMIs with OpsWorks, see Using * Custom AMIs. *

    *
  • *
*

* The default option is the parent stack's operating system. For more information about supported * operating systems, see AWS OpsWorks * Stacks Operating Systems. *

* *

* You can specify a different Linux operating system for the cloned stack, but you cannot change from * Linux to Windows or Windows to Linux. *

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

* The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host * names for the stack's instances. By default, HostnameTheme is set to * Layer_Dependent, which creates host names by appending integers to the layer's short name. The * other themes are: *

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities_and_Titans *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on * the current theme. *

* * @param hostnameTheme * The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate * host names for the stack's instances. By default, HostnameTheme is set to * Layer_Dependent, which creates host names by appending integers to the layer's short * name. The other themes are:

*
    *
  • *

    * Baked_Goods *

    *
  • *
  • *

    * Clouds *

    *
  • *
  • *

    * Europe_Cities *

    *
  • *
  • *

    * Fruits *

    *
  • *
  • *

    * Greek_Deities_and_Titans *

    *
  • *
  • *

    * Legendary_creatures_from_Japan *

    *
  • *
  • *

    * Planets_and_Moons *

    *
  • *
  • *

    * Roman_Deities *

    *
  • *
  • *

    * Scottish_Islands *

    *
  • *
  • *

    * US_Cities *

    *
  • *
  • *

    * Wild_Cats *

    *
  • *
*

* To obtain a generated host name, call GetHostNameSuggestion, which returns a host name * based on the current theme. * @return Returns a reference to this object so that method calls can be chained together. */ Builder hostnameTheme(String hostnameTheme); /** *

* The cloned stack's default Availability Zone, which must be in the specified region. For more information, * see Regions and Endpoints. If you also * specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, * see the VpcId parameter description. *

* * @param defaultAvailabilityZone * The cloned stack's default Availability Zone, which must be in the specified region. For more * information, see Regions and * Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the * same zone. For more information, see the VpcId parameter description. * @return Returns a reference to this object so that method calls can be chained together. */ Builder defaultAvailabilityZone(String defaultAvailabilityZone); /** *

* The stack's default VPC subnet ID. This parameter is required if you specify a value for the * VpcId parameter. All instances are launched into this subnet unless you specify otherwise when * you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet * must be in that zone. For information on default values and when this parameter is required, see the * VpcId parameter description. *

* * @param defaultSubnetId * The stack's default VPC subnet ID. This parameter is required if you specify a value for the * VpcId parameter. All instances are launched into this subnet unless you specify otherwise * when you create the instance. If you also specify a value for DefaultAvailabilityZone, * the subnet must be in that zone. For information on default values and when this parameter is * required, see the VpcId parameter description. * @return Returns a reference to this object so that method calls can be chained together. */ Builder defaultSubnetId(String defaultSubnetId); /** *

* A string that contains user-defined, custom JSON. It is used to override the corresponding default stack * configuration JSON values. The string should be in the following format: *

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information about custom JSON, see Use Custom JSON to * Modify the Stack Configuration Attributes *

* * @param customJson * A string that contains user-defined, custom JSON. It is used to override the corresponding default * stack configuration JSON values. The string should be in the following format:

*

* "{\"key1\": \"value1\", \"key2\": \"value2\",...}" *

*

* For more information about custom JSON, see Use Custom JSON * to Modify the Stack Configuration Attributes * @return Returns a reference to this object so that method calls can be chained together. */ Builder customJson(String customJson); /** *

* The configuration manager. When you clone a stack we recommend that you use the configuration manager to * specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value * for Linux stacks is currently 12. *

* * @param configurationManager * The configuration manager. When you clone a stack we recommend that you use the configuration manager * to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The * default value for Linux stacks is currently 12. * @return Returns a reference to this object so that method calls can be chained together. */ Builder configurationManager(StackConfigurationManager configurationManager); /** *

* The configuration manager. When you clone a stack we recommend that you use the configuration manager to * specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value * for Linux stacks is currently 12. *

* This is a convenience that creates an instance of the {@link StackConfigurationManager.Builder} avoiding the * need to create one manually via {@link StackConfigurationManager#builder()}. * * When the {@link Consumer} completes, {@link StackConfigurationManager.Builder#build()} is called immediately * and its result is passed to {@link #configurationManager(StackConfigurationManager)}. * * @param configurationManager * a consumer that will call methods on {@link StackConfigurationManager.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #configurationManager(StackConfigurationManager) */ default Builder configurationManager(Consumer configurationManager) { return configurationManager(StackConfigurationManager.builder().applyMutation(configurationManager).build()); } /** *

* A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version * on Chef 11.10 stacks. For more information, see Create a New * Stack. *

* * @param chefConfiguration * A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf * version on Chef 11.10 stacks. For more information, see Create a New * Stack. * @return Returns a reference to this object so that method calls can be chained together. */ Builder chefConfiguration(ChefConfiguration chefConfiguration); /** *

* A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version * on Chef 11.10 stacks. For more information, see Create a New * Stack. *

* This is a convenience that creates an instance of the {@link ChefConfiguration.Builder} avoiding the need to * create one manually via {@link ChefConfiguration#builder()}. * * When the {@link Consumer} completes, {@link ChefConfiguration.Builder#build()} is called immediately and its * result is passed to {@link #chefConfiguration(ChefConfiguration)}. * * @param chefConfiguration * a consumer that will call methods on {@link ChefConfiguration.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #chefConfiguration(ChefConfiguration) */ default Builder chefConfiguration(Consumer chefConfiguration) { return chefConfiguration(ChefConfiguration.builder().applyMutation(chefConfiguration).build()); } /** *

* Whether to use custom cookbooks. *

* * @param useCustomCookbooks * Whether to use custom cookbooks. * @return Returns a reference to this object so that method calls can be chained together. */ Builder useCustomCookbooks(Boolean useCustomCookbooks); /** *

* Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. *

*

* AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are * associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your * own custom security groups. UseOpsworksSecurityGroups has the following settings: *

*
    *
  • *

    * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer * (default setting). You can associate additional security groups with a layer after you create it but you * cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create * appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with * each layer that you create. However, you can still manually associate a built-in security group with a layer * on creation; custom security groups are required only for those layers that need custom settings. *

    *
  • *
*

* For more information, see Create a New * Stack. *

* * @param useOpsworksSecurityGroups * Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

*

* AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are * associated with layers by default. With UseOpsworksSecurityGroups you can instead provide * your own custom security groups. UseOpsworksSecurityGroups has the following settings: *

*
    *
  • *

    * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each * layer (default setting). You can associate additional security groups with a layer after you create it * but you cannot delete the built-in security group. *

    *
  • *
  • *

    * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create * appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group * with each layer that you create. However, you can still manually associate a built-in security group * with a layer on creation; custom security groups are required only for those layers that need custom * settings. *

    *
  • *
*

* For more information, see Create a New * Stack. * @return Returns a reference to this object so that method calls can be chained together. */ Builder useOpsworksSecurityGroups(Boolean useOpsworksSecurityGroups); /** *

* Contains the information required to retrieve an app or cookbook from a repository. For more information, see * Adding Apps or * Cookbooks and * Recipes. *

* * @param customCookbooksSource * Contains the information required to retrieve an app or cookbook from a repository. For more * information, see Adding Apps * or Cookbooks and * Recipes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder customCookbooksSource(Source customCookbooksSource); /** *

* Contains the information required to retrieve an app or cookbook from a repository. For more information, see * Adding Apps or * Cookbooks and * Recipes. *

* This is a convenience that creates an instance of the {@link Source.Builder} avoiding the need to create one * manually via {@link Source#builder()}. * * When the {@link Consumer} completes, {@link Source.Builder#build()} is called immediately and its result is * passed to {@link #customCookbooksSource(Source)}. * * @param customCookbooksSource * a consumer that will call methods on {@link Source.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #customCookbooksSource(Source) */ default Builder customCookbooksSource(Consumer customCookbooksSource) { return customCookbooksSource(Source.builder().applyMutation(customCookbooksSource).build()); } /** *

* A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks * installs the public key on the instance and you can use the private key with an SSH client to log in to the * instance. For more information, see Using SSH to * Communicate with an Instance and Managing SSH * Access. You can override this setting by specifying a different key pair, or no key pair, when you create an * instance. *

* * @param defaultSshKeyName * A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS * OpsWorks installs the public key on the instance and you can use the private key with an SSH client to * log in to the instance. For more information, see Using SSH to * Communicate with an Instance and Managing SSH * Access. You can override this setting by specifying a different key pair, or no key pair, when you * create an * instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder defaultSshKeyName(String defaultSshKeyName); /** *

* Whether to clone the source stack's permissions. *

* * @param clonePermissions * Whether to clone the source stack's permissions. * @return Returns a reference to this object so that method calls can be chained together. */ Builder clonePermissions(Boolean clonePermissions); /** *

* A list of source stack app IDs to be included in the cloned stack. *

* * @param cloneAppIds * A list of source stack app IDs to be included in the cloned stack. * @return Returns a reference to this object so that method calls can be chained together. */ Builder cloneAppIds(Collection cloneAppIds); /** *

* A list of source stack app IDs to be included in the cloned stack. *

* * @param cloneAppIds * A list of source stack app IDs to be included in the cloned stack. * @return Returns a reference to this object so that method calls can be chained together. */ Builder cloneAppIds(String... cloneAppIds); /** *

* The default root device type. This value is used by default for all instances in the cloned stack, but you * can override it when you create an instance. For more information, see Storage for the Root Device. *

* * @param defaultRootDeviceType * The default root device type. This value is used by default for all instances in the cloned stack, but * you can override it when you create an instance. For more information, see Storage for the Root Device. * @see RootDeviceType * @return Returns a reference to this object so that method calls can be chained together. * @see RootDeviceType */ Builder defaultRootDeviceType(String defaultRootDeviceType); /** *

* The default root device type. This value is used by default for all instances in the cloned stack, but you * can override it when you create an instance. For more information, see Storage for the Root Device. *

* * @param defaultRootDeviceType * The default root device type. This value is used by default for all instances in the cloned stack, but * you can override it when you create an instance. For more information, see Storage for the Root Device. * @see RootDeviceType * @return Returns a reference to this object so that method calls can be chained together. * @see RootDeviceType */ Builder defaultRootDeviceType(RootDeviceType defaultRootDeviceType); /** *

* The default AWS OpsWorks Stacks agent version. You have the following options: *

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent * versions on the stack's instances as soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must * edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that * version on the stack's instances. *

    *
  • *
*

* The default setting is LATEST. To specify an agent version, you must use the complete version * number, not the abbreviated number shown on the console. For a list of available agent version numbers, call * DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2. *

* *

* You can also specify an agent version when you create or update an instance, which overrides the stack's * default setting. *

*
* * @param agentVersion * The default AWS OpsWorks Stacks agent version. You have the following options:

*
    *
  • *

    * Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs * new agent versions on the stack's instances as soon as they are available. *

    *
  • *
  • *

    * Fixed version - Set this parameter to your preferred agent version. To update the agent version, you * must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically * installs that version on the stack's instances. *

    *
  • *
*

* The default setting is LATEST. To specify an agent version, you must use the complete * version number, not the abbreviated number shown on the console. For a list of available agent version * numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2. *

* *

* You can also specify an agent version when you create or update an instance, which overrides the * stack's default setting. *

* @return Returns a reference to this object so that method calls can be chained together. */ Builder agentVersion(String agentVersion); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends OpsWorksRequest.BuilderImpl implements Builder { private String sourceStackId; private String name; private String region; private String vpcId; private Map attributes = DefaultSdkAutoConstructMap.getInstance(); private String serviceRoleArn; private String defaultInstanceProfileArn; private String defaultOs; private String hostnameTheme; private String defaultAvailabilityZone; private String defaultSubnetId; private String customJson; private StackConfigurationManager configurationManager; private ChefConfiguration chefConfiguration; private Boolean useCustomCookbooks; private Boolean useOpsworksSecurityGroups; private Source customCookbooksSource; private String defaultSshKeyName; private Boolean clonePermissions; private List cloneAppIds = DefaultSdkAutoConstructList.getInstance(); private String defaultRootDeviceType; private String agentVersion; private BuilderImpl() { } private BuilderImpl(CloneStackRequest model) { super(model); sourceStackId(model.sourceStackId); name(model.name); region(model.region); vpcId(model.vpcId); attributesWithStrings(model.attributes); serviceRoleArn(model.serviceRoleArn); defaultInstanceProfileArn(model.defaultInstanceProfileArn); defaultOs(model.defaultOs); hostnameTheme(model.hostnameTheme); defaultAvailabilityZone(model.defaultAvailabilityZone); defaultSubnetId(model.defaultSubnetId); customJson(model.customJson); configurationManager(model.configurationManager); chefConfiguration(model.chefConfiguration); useCustomCookbooks(model.useCustomCookbooks); useOpsworksSecurityGroups(model.useOpsworksSecurityGroups); customCookbooksSource(model.customCookbooksSource); defaultSshKeyName(model.defaultSshKeyName); clonePermissions(model.clonePermissions); cloneAppIds(model.cloneAppIds); defaultRootDeviceType(model.defaultRootDeviceType); agentVersion(model.agentVersion); } public final String getSourceStackId() { return sourceStackId; } @Override public final Builder sourceStackId(String sourceStackId) { this.sourceStackId = sourceStackId; return this; } public final void setSourceStackId(String sourceStackId) { this.sourceStackId = sourceStackId; } public final String getName() { return name; } @Override public final Builder name(String name) { this.name = name; return this; } public final void setName(String name) { this.name = name; } public final String getRegion() { return region; } @Override public final Builder region(String region) { this.region = region; return this; } public final void setRegion(String region) { this.region = region; } public final String getVpcId() { return vpcId; } @Override public final Builder vpcId(String vpcId) { this.vpcId = vpcId; return this; } public final void setVpcId(String vpcId) { this.vpcId = vpcId; } public final Map getAttributes() { if (attributes instanceof SdkAutoConstructMap) { return null; } return attributes; } @Override public final Builder attributesWithStrings(Map attributes) { this.attributes = StackAttributesCopier.copy(attributes); return this; } @Override public final Builder attributes(Map attributes) { this.attributes = StackAttributesCopier.copyEnumToString(attributes); return this; } public final void setAttributes(Map attributes) { this.attributes = StackAttributesCopier.copy(attributes); } public final String getServiceRoleArn() { return serviceRoleArn; } @Override public final Builder serviceRoleArn(String serviceRoleArn) { this.serviceRoleArn = serviceRoleArn; return this; } public final void setServiceRoleArn(String serviceRoleArn) { this.serviceRoleArn = serviceRoleArn; } public final String getDefaultInstanceProfileArn() { return defaultInstanceProfileArn; } @Override public final Builder defaultInstanceProfileArn(String defaultInstanceProfileArn) { this.defaultInstanceProfileArn = defaultInstanceProfileArn; return this; } public final void setDefaultInstanceProfileArn(String defaultInstanceProfileArn) { this.defaultInstanceProfileArn = defaultInstanceProfileArn; } public final String getDefaultOs() { return defaultOs; } @Override public final Builder defaultOs(String defaultOs) { this.defaultOs = defaultOs; return this; } public final void setDefaultOs(String defaultOs) { this.defaultOs = defaultOs; } public final String getHostnameTheme() { return hostnameTheme; } @Override public final Builder hostnameTheme(String hostnameTheme) { this.hostnameTheme = hostnameTheme; return this; } public final void setHostnameTheme(String hostnameTheme) { this.hostnameTheme = hostnameTheme; } public final String getDefaultAvailabilityZone() { return defaultAvailabilityZone; } @Override public final Builder defaultAvailabilityZone(String defaultAvailabilityZone) { this.defaultAvailabilityZone = defaultAvailabilityZone; return this; } public final void setDefaultAvailabilityZone(String defaultAvailabilityZone) { this.defaultAvailabilityZone = defaultAvailabilityZone; } public final String getDefaultSubnetId() { return defaultSubnetId; } @Override public final Builder defaultSubnetId(String defaultSubnetId) { this.defaultSubnetId = defaultSubnetId; return this; } public final void setDefaultSubnetId(String defaultSubnetId) { this.defaultSubnetId = defaultSubnetId; } public final String getCustomJson() { return customJson; } @Override public final Builder customJson(String customJson) { this.customJson = customJson; return this; } public final void setCustomJson(String customJson) { this.customJson = customJson; } public final StackConfigurationManager.Builder getConfigurationManager() { return configurationManager != null ? configurationManager.toBuilder() : null; } @Override public final Builder configurationManager(StackConfigurationManager configurationManager) { this.configurationManager = configurationManager; return this; } public final void setConfigurationManager(StackConfigurationManager.BuilderImpl configurationManager) { this.configurationManager = configurationManager != null ? configurationManager.build() : null; } public final ChefConfiguration.Builder getChefConfiguration() { return chefConfiguration != null ? chefConfiguration.toBuilder() : null; } @Override public final Builder chefConfiguration(ChefConfiguration chefConfiguration) { this.chefConfiguration = chefConfiguration; return this; } public final void setChefConfiguration(ChefConfiguration.BuilderImpl chefConfiguration) { this.chefConfiguration = chefConfiguration != null ? chefConfiguration.build() : null; } public final Boolean getUseCustomCookbooks() { return useCustomCookbooks; } @Override public final Builder useCustomCookbooks(Boolean useCustomCookbooks) { this.useCustomCookbooks = useCustomCookbooks; return this; } public final void setUseCustomCookbooks(Boolean useCustomCookbooks) { this.useCustomCookbooks = useCustomCookbooks; } public final Boolean getUseOpsworksSecurityGroups() { return useOpsworksSecurityGroups; } @Override public final Builder useOpsworksSecurityGroups(Boolean useOpsworksSecurityGroups) { this.useOpsworksSecurityGroups = useOpsworksSecurityGroups; return this; } public final void setUseOpsworksSecurityGroups(Boolean useOpsworksSecurityGroups) { this.useOpsworksSecurityGroups = useOpsworksSecurityGroups; } public final Source.Builder getCustomCookbooksSource() { return customCookbooksSource != null ? customCookbooksSource.toBuilder() : null; } @Override public final Builder customCookbooksSource(Source customCookbooksSource) { this.customCookbooksSource = customCookbooksSource; return this; } public final void setCustomCookbooksSource(Source.BuilderImpl customCookbooksSource) { this.customCookbooksSource = customCookbooksSource != null ? customCookbooksSource.build() : null; } public final String getDefaultSshKeyName() { return defaultSshKeyName; } @Override public final Builder defaultSshKeyName(String defaultSshKeyName) { this.defaultSshKeyName = defaultSshKeyName; return this; } public final void setDefaultSshKeyName(String defaultSshKeyName) { this.defaultSshKeyName = defaultSshKeyName; } public final Boolean getClonePermissions() { return clonePermissions; } @Override public final Builder clonePermissions(Boolean clonePermissions) { this.clonePermissions = clonePermissions; return this; } public final void setClonePermissions(Boolean clonePermissions) { this.clonePermissions = clonePermissions; } public final Collection getCloneAppIds() { if (cloneAppIds instanceof SdkAutoConstructList) { return null; } return cloneAppIds; } @Override public final Builder cloneAppIds(Collection cloneAppIds) { this.cloneAppIds = StringsCopier.copy(cloneAppIds); return this; } @Override @SafeVarargs public final Builder cloneAppIds(String... cloneAppIds) { cloneAppIds(Arrays.asList(cloneAppIds)); return this; } public final void setCloneAppIds(Collection cloneAppIds) { this.cloneAppIds = StringsCopier.copy(cloneAppIds); } public final String getDefaultRootDeviceType() { return defaultRootDeviceType; } @Override public final Builder defaultRootDeviceType(String defaultRootDeviceType) { this.defaultRootDeviceType = defaultRootDeviceType; return this; } @Override public final Builder defaultRootDeviceType(RootDeviceType defaultRootDeviceType) { this.defaultRootDeviceType(defaultRootDeviceType == null ? null : defaultRootDeviceType.toString()); return this; } public final void setDefaultRootDeviceType(String defaultRootDeviceType) { this.defaultRootDeviceType = defaultRootDeviceType; } public final String getAgentVersion() { return agentVersion; } @Override public final Builder agentVersion(String agentVersion) { this.agentVersion = agentVersion; return this; } public final void setAgentVersion(String agentVersion) { this.agentVersion = agentVersion; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public CloneStackRequest build() { return new CloneStackRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy