/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace OpsWorks { namespace Model { /** */ class CloneStackRequest : public OpsWorksRequest { public: AWS_OPSWORKS_API CloneStackRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CloneStack"; } AWS_OPSWORKS_API Aws::String SerializePayload() const override; AWS_OPSWORKS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The source stack ID.

*/ inline const Aws::String& GetSourceStackId() const{ return m_sourceStackId; } /** *

The source stack ID.

*/ inline bool SourceStackIdHasBeenSet() const { return m_sourceStackIdHasBeenSet; } /** *

The source stack ID.

*/ inline void SetSourceStackId(const Aws::String& value) { m_sourceStackIdHasBeenSet = true; m_sourceStackId = value; } /** *

The source stack ID.

*/ inline void SetSourceStackId(Aws::String&& value) { m_sourceStackIdHasBeenSet = true; m_sourceStackId = std::move(value); } /** *

The source stack ID.

*/ inline void SetSourceStackId(const char* value) { m_sourceStackIdHasBeenSet = true; m_sourceStackId.assign(value); } /** *

The source stack ID.

*/ inline CloneStackRequest& WithSourceStackId(const Aws::String& value) { SetSourceStackId(value); return *this;} /** *

The source stack ID.

*/ inline CloneStackRequest& WithSourceStackId(Aws::String&& value) { SetSourceStackId(std::move(value)); return *this;} /** *

The source stack ID.

*/ inline CloneStackRequest& WithSourceStackId(const char* value) { SetSourceStackId(value); return *this;} /** *

The cloned stack name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The cloned stack name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The cloned stack name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The cloned stack name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The cloned stack name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The cloned stack name.

*/ inline CloneStackRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The cloned stack name.

*/ inline CloneStackRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The cloned stack name.

*/ inline CloneStackRequest& WithName(const char* value) { SetName(value); return *this;} /** *

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

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

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

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

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

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

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

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

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

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

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

*/ inline CloneStackRequest& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

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

*/ inline CloneStackRequest& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

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

*/ inline CloneStackRequest& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

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.

*/ inline const Aws::String& GetVpcId() const{ return m_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.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

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.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

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.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

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.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

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

*/ inline const Aws::Map& GetAttributes() const{ return m_attributes; } /** *

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

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

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

*/ inline void SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

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

*/ inline void SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

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

*/ inline CloneStackRequest& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

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

*/ inline CloneStackRequest& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

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

*/ inline CloneStackRequest& AddAttributes(const StackAttributesKeys& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

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

*/ inline CloneStackRequest& AddAttributes(StackAttributesKeys&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

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

*/ inline CloneStackRequest& AddAttributes(const StackAttributesKeys& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

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

*/ inline CloneStackRequest& AddAttributes(StackAttributesKeys&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

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

*/ inline CloneStackRequest& AddAttributes(StackAttributesKeys&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

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

*/ inline CloneStackRequest& AddAttributes(const StackAttributesKeys& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

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.

*/ inline const Aws::String& GetServiceRoleArn() const{ return m_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.

*/ inline bool ServiceRoleArnHasBeenSet() const { return m_serviceRoleArnHasBeenSet; } /** *

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.

*/ inline void SetServiceRoleArn(const Aws::String& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = value; } /** *

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.

*/ inline void SetServiceRoleArn(Aws::String&& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = std::move(value); } /** *

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.

*/ inline void SetServiceRoleArn(const char* value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithServiceRoleArn(const Aws::String& value) { SetServiceRoleArn(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithServiceRoleArn(Aws::String&& value) { SetServiceRoleArn(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithServiceRoleArn(const char* value) { SetServiceRoleArn(value); return *this;} /** *

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.

*/ inline const Aws::String& GetDefaultInstanceProfileArn() const{ return m_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.

*/ inline bool DefaultInstanceProfileArnHasBeenSet() const { return m_defaultInstanceProfileArnHasBeenSet; } /** *

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.

*/ inline void SetDefaultInstanceProfileArn(const Aws::String& value) { m_defaultInstanceProfileArnHasBeenSet = true; m_defaultInstanceProfileArn = value; } /** *

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.

*/ inline void SetDefaultInstanceProfileArn(Aws::String&& value) { m_defaultInstanceProfileArnHasBeenSet = true; m_defaultInstanceProfileArn = std::move(value); } /** *

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.

*/ inline void SetDefaultInstanceProfileArn(const char* value) { m_defaultInstanceProfileArnHasBeenSet = true; m_defaultInstanceProfileArn.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithDefaultInstanceProfileArn(const Aws::String& value) { SetDefaultInstanceProfileArn(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultInstanceProfileArn(Aws::String&& value) { SetDefaultInstanceProfileArn(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultInstanceProfileArn(const char* value) { SetDefaultInstanceProfileArn(value); return *this;} /** *

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.

*/ inline const Aws::String& GetDefaultOs() const{ return m_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.

*/ inline bool DefaultOsHasBeenSet() const { return m_defaultOsHasBeenSet; } /** *

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.

*/ inline void SetDefaultOs(const Aws::String& value) { m_defaultOsHasBeenSet = true; m_defaultOs = value; } /** *

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.

*/ inline void SetDefaultOs(Aws::String&& value) { m_defaultOsHasBeenSet = true; m_defaultOs = std::move(value); } /** *

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.

*/ inline void SetDefaultOs(const char* value) { m_defaultOsHasBeenSet = true; m_defaultOs.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithDefaultOs(const Aws::String& value) { SetDefaultOs(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultOs(Aws::String&& value) { SetDefaultOs(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultOs(const char* value) { SetDefaultOs(value); return *this;} /** *

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.

*/ inline const Aws::String& GetHostnameTheme() const{ return m_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.

*/ inline bool HostnameThemeHasBeenSet() const { return m_hostnameThemeHasBeenSet; } /** *

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.

*/ inline void SetHostnameTheme(const Aws::String& value) { m_hostnameThemeHasBeenSet = true; m_hostnameTheme = value; } /** *

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.

*/ inline void SetHostnameTheme(Aws::String&& value) { m_hostnameThemeHasBeenSet = true; m_hostnameTheme = std::move(value); } /** *

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.

*/ inline void SetHostnameTheme(const char* value) { m_hostnameThemeHasBeenSet = true; m_hostnameTheme.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithHostnameTheme(const Aws::String& value) { SetHostnameTheme(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithHostnameTheme(Aws::String&& value) { SetHostnameTheme(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithHostnameTheme(const char* value) { SetHostnameTheme(value); return *this;} /** *

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.

*/ inline const Aws::String& GetDefaultAvailabilityZone() const{ return m_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.

*/ inline bool DefaultAvailabilityZoneHasBeenSet() const { return m_defaultAvailabilityZoneHasBeenSet; } /** *

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.

*/ inline void SetDefaultAvailabilityZone(const Aws::String& value) { m_defaultAvailabilityZoneHasBeenSet = true; m_defaultAvailabilityZone = value; } /** *

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.

*/ inline void SetDefaultAvailabilityZone(Aws::String&& value) { m_defaultAvailabilityZoneHasBeenSet = true; m_defaultAvailabilityZone = std::move(value); } /** *

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.

*/ inline void SetDefaultAvailabilityZone(const char* value) { m_defaultAvailabilityZoneHasBeenSet = true; m_defaultAvailabilityZone.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithDefaultAvailabilityZone(const Aws::String& value) { SetDefaultAvailabilityZone(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultAvailabilityZone(Aws::String&& value) { SetDefaultAvailabilityZone(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultAvailabilityZone(const char* value) { SetDefaultAvailabilityZone(value); return *this;} /** *

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.

*/ inline const Aws::String& GetDefaultSubnetId() const{ return m_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.

*/ inline bool DefaultSubnetIdHasBeenSet() const { return m_defaultSubnetIdHasBeenSet; } /** *

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.

*/ inline void SetDefaultSubnetId(const Aws::String& value) { m_defaultSubnetIdHasBeenSet = true; m_defaultSubnetId = value; } /** *

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.

*/ inline void SetDefaultSubnetId(Aws::String&& value) { m_defaultSubnetIdHasBeenSet = true; m_defaultSubnetId = std::move(value); } /** *

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.

*/ inline void SetDefaultSubnetId(const char* value) { m_defaultSubnetIdHasBeenSet = true; m_defaultSubnetId.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithDefaultSubnetId(const Aws::String& value) { SetDefaultSubnetId(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultSubnetId(Aws::String&& value) { SetDefaultSubnetId(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultSubnetId(const char* value) { SetDefaultSubnetId(value); return *this;} /** *

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

*/ inline const Aws::String& GetCustomJson() const{ return m_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

*/ inline bool CustomJsonHasBeenSet() const { return m_customJsonHasBeenSet; } /** *

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

*/ inline void SetCustomJson(const Aws::String& value) { m_customJsonHasBeenSet = true; m_customJson = value; } /** *

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

*/ inline void SetCustomJson(Aws::String&& value) { m_customJsonHasBeenSet = true; m_customJson = std::move(value); } /** *

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

*/ inline void SetCustomJson(const char* value) { m_customJsonHasBeenSet = true; m_customJson.assign(value); } /** *

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

*/ inline CloneStackRequest& WithCustomJson(const Aws::String& value) { SetCustomJson(value); return *this;} /** *

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

*/ inline CloneStackRequest& WithCustomJson(Aws::String&& value) { SetCustomJson(std::move(value)); return *this;} /** *

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

*/ inline CloneStackRequest& WithCustomJson(const char* value) { SetCustomJson(value); return *this;} /** *

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.

*/ inline const StackConfigurationManager& GetConfigurationManager() const{ return m_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.

*/ inline bool ConfigurationManagerHasBeenSet() const { return m_configurationManagerHasBeenSet; } /** *

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.

*/ inline void SetConfigurationManager(const StackConfigurationManager& value) { m_configurationManagerHasBeenSet = true; m_configurationManager = value; } /** *

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.

*/ inline void SetConfigurationManager(StackConfigurationManager&& value) { m_configurationManagerHasBeenSet = true; m_configurationManager = std::move(value); } /** *

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.

*/ inline CloneStackRequest& WithConfigurationManager(const StackConfigurationManager& value) { SetConfigurationManager(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithConfigurationManager(StackConfigurationManager&& value) { SetConfigurationManager(std::move(value)); return *this;} /** *

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.

*/ inline const ChefConfiguration& GetChefConfiguration() const{ return m_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.

*/ inline bool ChefConfigurationHasBeenSet() const { return m_chefConfigurationHasBeenSet; } /** *

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.

*/ inline void SetChefConfiguration(const ChefConfiguration& value) { m_chefConfigurationHasBeenSet = true; m_chefConfiguration = value; } /** *

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.

*/ inline void SetChefConfiguration(ChefConfiguration&& value) { m_chefConfigurationHasBeenSet = true; m_chefConfiguration = std::move(value); } /** *

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.

*/ inline CloneStackRequest& WithChefConfiguration(const ChefConfiguration& value) { SetChefConfiguration(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithChefConfiguration(ChefConfiguration&& value) { SetChefConfiguration(std::move(value)); return *this;} /** *

Whether to use custom cookbooks.

*/ inline bool GetUseCustomCookbooks() const{ return m_useCustomCookbooks; } /** *

Whether to use custom cookbooks.

*/ inline bool UseCustomCookbooksHasBeenSet() const { return m_useCustomCookbooksHasBeenSet; } /** *

Whether to use custom cookbooks.

*/ inline void SetUseCustomCookbooks(bool value) { m_useCustomCookbooksHasBeenSet = true; m_useCustomCookbooks = value; } /** *

Whether to use custom cookbooks.

*/ inline CloneStackRequest& WithUseCustomCookbooks(bool value) { SetUseCustomCookbooks(value); return *this;} /** *

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.

*/ inline bool GetUseOpsworksSecurityGroups() const{ return m_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.

*/ inline bool UseOpsworksSecurityGroupsHasBeenSet() const { return m_useOpsworksSecurityGroupsHasBeenSet; } /** *

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.

*/ inline void SetUseOpsworksSecurityGroups(bool value) { m_useOpsworksSecurityGroupsHasBeenSet = true; m_useOpsworksSecurityGroups = value; } /** *

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.

*/ inline CloneStackRequest& WithUseOpsworksSecurityGroups(bool value) { SetUseOpsworksSecurityGroups(value); return *this;} /** *

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

*/ inline const Source& GetCustomCookbooksSource() const{ return m_customCookbooksSource; } /** *

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

*/ inline bool CustomCookbooksSourceHasBeenSet() const { return m_customCookbooksSourceHasBeenSet; } /** *

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

*/ inline void SetCustomCookbooksSource(const Source& value) { m_customCookbooksSourceHasBeenSet = true; m_customCookbooksSource = value; } /** *

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

*/ inline void SetCustomCookbooksSource(Source&& value) { m_customCookbooksSourceHasBeenSet = true; m_customCookbooksSource = std::move(value); } /** *

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

*/ inline CloneStackRequest& WithCustomCookbooksSource(const Source& value) { SetCustomCookbooksSource(value); return *this;} /** *

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

*/ inline CloneStackRequest& WithCustomCookbooksSource(Source&& value) { SetCustomCookbooksSource(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::String& GetDefaultSshKeyName() const{ return m_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.

*/ inline bool DefaultSshKeyNameHasBeenSet() const { return m_defaultSshKeyNameHasBeenSet; } /** *

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.

*/ inline void SetDefaultSshKeyName(const Aws::String& value) { m_defaultSshKeyNameHasBeenSet = true; m_defaultSshKeyName = value; } /** *

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.

*/ inline void SetDefaultSshKeyName(Aws::String&& value) { m_defaultSshKeyNameHasBeenSet = true; m_defaultSshKeyName = std::move(value); } /** *

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.

*/ inline void SetDefaultSshKeyName(const char* value) { m_defaultSshKeyNameHasBeenSet = true; m_defaultSshKeyName.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithDefaultSshKeyName(const Aws::String& value) { SetDefaultSshKeyName(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultSshKeyName(Aws::String&& value) { SetDefaultSshKeyName(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultSshKeyName(const char* value) { SetDefaultSshKeyName(value); return *this;} /** *

Whether to clone the source stack's permissions.

*/ inline bool GetClonePermissions() const{ return m_clonePermissions; } /** *

Whether to clone the source stack's permissions.

*/ inline bool ClonePermissionsHasBeenSet() const { return m_clonePermissionsHasBeenSet; } /** *

Whether to clone the source stack's permissions.

*/ inline void SetClonePermissions(bool value) { m_clonePermissionsHasBeenSet = true; m_clonePermissions = value; } /** *

Whether to clone the source stack's permissions.

*/ inline CloneStackRequest& WithClonePermissions(bool value) { SetClonePermissions(value); return *this;} /** *

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

*/ inline const Aws::Vector& GetCloneAppIds() const{ return m_cloneAppIds; } /** *

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

*/ inline bool CloneAppIdsHasBeenSet() const { return m_cloneAppIdsHasBeenSet; } /** *

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

*/ inline void SetCloneAppIds(const Aws::Vector& value) { m_cloneAppIdsHasBeenSet = true; m_cloneAppIds = value; } /** *

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

*/ inline void SetCloneAppIds(Aws::Vector&& value) { m_cloneAppIdsHasBeenSet = true; m_cloneAppIds = std::move(value); } /** *

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

*/ inline CloneStackRequest& WithCloneAppIds(const Aws::Vector& value) { SetCloneAppIds(value); return *this;} /** *

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

*/ inline CloneStackRequest& WithCloneAppIds(Aws::Vector&& value) { SetCloneAppIds(std::move(value)); return *this;} /** *

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

*/ inline CloneStackRequest& AddCloneAppIds(const Aws::String& value) { m_cloneAppIdsHasBeenSet = true; m_cloneAppIds.push_back(value); return *this; } /** *

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

*/ inline CloneStackRequest& AddCloneAppIds(Aws::String&& value) { m_cloneAppIdsHasBeenSet = true; m_cloneAppIds.push_back(std::move(value)); return *this; } /** *

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

*/ inline CloneStackRequest& AddCloneAppIds(const char* value) { m_cloneAppIdsHasBeenSet = true; m_cloneAppIds.push_back(value); return *this; } /** *

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.

*/ inline const RootDeviceType& GetDefaultRootDeviceType() const{ return m_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.

*/ inline bool DefaultRootDeviceTypeHasBeenSet() const { return m_defaultRootDeviceTypeHasBeenSet; } /** *

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.

*/ inline void SetDefaultRootDeviceType(const RootDeviceType& value) { m_defaultRootDeviceTypeHasBeenSet = true; m_defaultRootDeviceType = value; } /** *

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.

*/ inline void SetDefaultRootDeviceType(RootDeviceType&& value) { m_defaultRootDeviceTypeHasBeenSet = true; m_defaultRootDeviceType = std::move(value); } /** *

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.

*/ inline CloneStackRequest& WithDefaultRootDeviceType(const RootDeviceType& value) { SetDefaultRootDeviceType(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithDefaultRootDeviceType(RootDeviceType&& value) { SetDefaultRootDeviceType(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::String& GetAgentVersion() const{ return m_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.

*/ inline bool AgentVersionHasBeenSet() const { return m_agentVersionHasBeenSet; } /** *

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.

*/ inline void SetAgentVersion(const Aws::String& value) { m_agentVersionHasBeenSet = true; m_agentVersion = value; } /** *

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.

*/ inline void SetAgentVersion(Aws::String&& value) { m_agentVersionHasBeenSet = true; m_agentVersion = std::move(value); } /** *

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.

*/ inline void SetAgentVersion(const char* value) { m_agentVersionHasBeenSet = true; m_agentVersion.assign(value); } /** *

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.

*/ inline CloneStackRequest& WithAgentVersion(const Aws::String& value) { SetAgentVersion(value); return *this;} /** *

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.

*/ inline CloneStackRequest& WithAgentVersion(Aws::String&& value) { SetAgentVersion(std::move(value)); return *this;} /** *

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.

*/ inline CloneStackRequest& WithAgentVersion(const char* value) { SetAgentVersion(value); return *this;} private: Aws::String m_sourceStackId; bool m_sourceStackIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::Map m_attributes; bool m_attributesHasBeenSet = false; Aws::String m_serviceRoleArn; bool m_serviceRoleArnHasBeenSet = false; Aws::String m_defaultInstanceProfileArn; bool m_defaultInstanceProfileArnHasBeenSet = false; Aws::String m_defaultOs; bool m_defaultOsHasBeenSet = false; Aws::String m_hostnameTheme; bool m_hostnameThemeHasBeenSet = false; Aws::String m_defaultAvailabilityZone; bool m_defaultAvailabilityZoneHasBeenSet = false; Aws::String m_defaultSubnetId; bool m_defaultSubnetIdHasBeenSet = false; Aws::String m_customJson; bool m_customJsonHasBeenSet = false; StackConfigurationManager m_configurationManager; bool m_configurationManagerHasBeenSet = false; ChefConfiguration m_chefConfiguration; bool m_chefConfigurationHasBeenSet = false; bool m_useCustomCookbooks; bool m_useCustomCookbooksHasBeenSet = false; bool m_useOpsworksSecurityGroups; bool m_useOpsworksSecurityGroupsHasBeenSet = false; Source m_customCookbooksSource; bool m_customCookbooksSourceHasBeenSet = false; Aws::String m_defaultSshKeyName; bool m_defaultSshKeyNameHasBeenSet = false; bool m_clonePermissions; bool m_clonePermissionsHasBeenSet = false; Aws::Vector m_cloneAppIds; bool m_cloneAppIdsHasBeenSet = false; RootDeviceType m_defaultRootDeviceType; bool m_defaultRootDeviceTypeHasBeenSet = false; Aws::String m_agentVersion; bool m_agentVersionHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws