/** * 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 namespace Aws { namespace OpsWorks { namespace Model { /** */ class CreateStackRequest : public OpsWorksRequest { public: AWS_OPSWORKS_API CreateStackRequest(); // 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 "CreateStack"; } AWS_OPSWORKS_API Aws::String SerializePayload() const override; AWS_OPSWORKS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The stack name.

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

The stack name.

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

The stack name.

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

The stack name.

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

The stack name.

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

The stack name.

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

The stack name.

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

The stack name.

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

The stack's AWS region, such as ap-south-1. For more information * about Amazon regions, see Regions and * Endpoints.

In the AWS CLI, this API maps to the * --stack-region parameter. If the --stack-region * parameter and the AWS CLI common parameter --region are set to the * same value, the stack uses a regional endpoint. If the * --stack-region parameter is not set, but the AWS CLI * --region parameter is, this also results in a stack with a * regional endpoint. However, if the --region parameter is set * to us-east-1, and the --stack-region parameter is set * to one of the following, then the stack uses a legacy or classic region: * us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, * ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of * the stack is in us-east-1. Only the preceding regions are supported * as classic regions in the us-east-1 API endpoint. Because it is a * best practice to choose the regional endpoint that is closest to where you * manage AWS, we recommend that you use regional endpoints for new stacks. The AWS * CLI common --region parameter always specifies a regional API * endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

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

The stack's AWS region, such as ap-south-1. For more information * about Amazon regions, see Regions and * Endpoints.

In the AWS CLI, this API maps to the * --stack-region parameter. If the --stack-region * parameter and the AWS CLI common parameter --region are set to the * same value, the stack uses a regional endpoint. If the * --stack-region parameter is not set, but the AWS CLI * --region parameter is, this also results in a stack with a * regional endpoint. However, if the --region parameter is set * to us-east-1, and the --stack-region parameter is set * to one of the following, then the stack uses a legacy or classic region: * us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, * ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of * the stack is in us-east-1. Only the preceding regions are supported * as classic regions in the us-east-1 API endpoint. Because it is a * best practice to choose the regional endpoint that is closest to where you * manage AWS, we recommend that you use regional endpoints for new stacks. The AWS * CLI common --region parameter always specifies a regional API * endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

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

The stack's AWS region, such as ap-south-1. For more information * about Amazon regions, see Regions and * Endpoints.

In the AWS CLI, this API maps to the * --stack-region parameter. If the --stack-region * parameter and the AWS CLI common parameter --region are set to the * same value, the stack uses a regional endpoint. If the * --stack-region parameter is not set, but the AWS CLI * --region parameter is, this also results in a stack with a * regional endpoint. However, if the --region parameter is set * to us-east-1, and the --stack-region parameter is set * to one of the following, then the stack uses a legacy or classic region: * us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, * ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of * the stack is in us-east-1. Only the preceding regions are supported * as classic regions in the us-east-1 API endpoint. Because it is a * best practice to choose the regional endpoint that is closest to where you * manage AWS, we recommend that you use regional endpoints for new stacks. The AWS * CLI common --region parameter always specifies a regional API * endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

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

The stack's AWS region, such as ap-south-1. For more information * about Amazon regions, see Regions and * Endpoints.

In the AWS CLI, this API maps to the * --stack-region parameter. If the --stack-region * parameter and the AWS CLI common parameter --region are set to the * same value, the stack uses a regional endpoint. If the * --stack-region parameter is not set, but the AWS CLI * --region parameter is, this also results in a stack with a * regional endpoint. However, if the --region parameter is set * to us-east-1, and the --stack-region parameter is set * to one of the following, then the stack uses a legacy or classic region: * us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, * ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of * the stack is in us-east-1. Only the preceding regions are supported * as classic regions in the us-east-1 API endpoint. Because it is a * best practice to choose the regional endpoint that is closest to where you * manage AWS, we recommend that you use regional endpoints for new stacks. The AWS * CLI common --region parameter always specifies a regional API * endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

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

The stack's AWS region, such as ap-south-1. For more information * about Amazon regions, see Regions and * Endpoints.

In the AWS CLI, this API maps to the * --stack-region parameter. If the --stack-region * parameter and the AWS CLI common parameter --region are set to the * same value, the stack uses a regional endpoint. If the * --stack-region parameter is not set, but the AWS CLI * --region parameter is, this also results in a stack with a * regional endpoint. However, if the --region parameter is set * to us-east-1, and the --stack-region parameter is set * to one of the following, then the stack uses a legacy or classic region: * us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, * ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of * the stack is in us-east-1. Only the preceding regions are supported * as classic regions in the us-east-1 API endpoint. Because it is a * best practice to choose the regional endpoint that is closest to where you * manage AWS, we recommend that you use regional endpoints for new stacks. The AWS * CLI common --region parameter always specifies a regional API * endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

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

The stack's AWS region, such as ap-south-1. For more information * about Amazon regions, see Regions and * Endpoints.

In the AWS CLI, this API maps to the * --stack-region parameter. If the --stack-region * parameter and the AWS CLI common parameter --region are set to the * same value, the stack uses a regional endpoint. If the * --stack-region parameter is not set, but the AWS CLI * --region parameter is, this also results in a stack with a * regional endpoint. However, if the --region parameter is set * to us-east-1, and the --stack-region parameter is set * to one of the following, then the stack uses a legacy or classic region: * us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, * ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of * the stack is in us-east-1. Only the preceding regions are supported * as classic regions in the us-east-1 API endpoint. Because it is a * best practice to choose the regional endpoint that is closest to where you * manage AWS, we recommend that you use regional endpoints for new stacks. The AWS * CLI common --region parameter always specifies a regional API * endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

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

The stack's AWS region, such as ap-south-1. For more information * about Amazon regions, see Regions and * Endpoints.

In the AWS CLI, this API maps to the * --stack-region parameter. If the --stack-region * parameter and the AWS CLI common parameter --region are set to the * same value, the stack uses a regional endpoint. If the * --stack-region parameter is not set, but the AWS CLI * --region parameter is, this also results in a stack with a * regional endpoint. However, if the --region parameter is set * to us-east-1, and the --stack-region parameter is set * to one of the following, then the stack uses a legacy or classic region: * us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, * ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of * the stack is in us-east-1. Only the preceding regions are supported * as classic regions in the us-east-1 API endpoint. Because it is a * best practice to choose the regional endpoint that is closest to where you * manage AWS, we recommend that you use regional endpoints for new stacks. The AWS * CLI common --region parameter always specifies a regional API * endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

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

The stack's AWS region, such as ap-south-1. For more information * about Amazon regions, see Regions and * Endpoints.

In the AWS CLI, this API maps to the * --stack-region parameter. If the --stack-region * parameter and the AWS CLI common parameter --region are set to the * same value, the stack uses a regional endpoint. If the * --stack-region parameter is not set, but the AWS CLI * --region parameter is, this also results in a stack with a * regional endpoint. However, if the --region parameter is set * to us-east-1, and the --stack-region parameter is set * to one of the following, then the stack uses a legacy or classic region: * us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, * ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of * the stack is in us-east-1. Only the preceding regions are supported * as classic regions in the us-east-1 API endpoint. Because it is a * best practice to choose the regional endpoint that is closest to where you * manage AWS, we recommend that you use regional endpoints for new stacks. The AWS * CLI common --region parameter always specifies a regional API * endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

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

The ID of the VPC that the stack is to be launched into. The VPC must be in * the stack's region. All instances are launched into this VPC. 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 stack is to be launched into. The VPC must be in * the stack's region. All instances are launched into this VPC. 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 stack is to be launched into. The VPC must be in * the stack's region. All instances are launched into this VPC. 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 stack is to be launched into. The VPC must be in * the stack's region. All instances are launched into this VPC. 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 stack is to be launched into. The VPC must be in * the stack's region. All instances are launched into this VPC. 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 stack is to be launched into. The VPC must be in * the stack's region. All instances are launched into this VPC. 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 CreateStackRequest& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The ID of the VPC that the stack is to be launched into. The VPC must be in * the stack's region. All instances are launched into this VPC. 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 CreateStackRequest& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The ID of the VPC that the stack is to be launched into. The VPC must be in * the stack's region. All instances are launched into this VPC. 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 CreateStackRequest& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

One or more user-defined key-value pairs to be added to the stack * attributes.

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

The stack's 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. For more * information about IAM ARNs, see Using * Identifiers.

*/ inline const Aws::String& GetServiceRoleArn() const{ return m_serviceRoleArn; } /** *

The stack's 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. For more * information about IAM ARNs, see Using * Identifiers.

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

The stack's 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. For more * information about IAM ARNs, see Using * Identifiers.

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

The stack's 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. For more * information about IAM ARNs, see Using * Identifiers.

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

The stack's 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. For more * information about IAM ARNs, see Using * Identifiers.

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

The stack's 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. For more * information about IAM ARNs, see Using * Identifiers.

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

The stack's 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. For more * information about IAM ARNs, see Using * Identifiers.

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

The stack's 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. For more * information about IAM ARNs, see Using * Identifiers.

*/ inline CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& WithDefaultInstanceProfileArn(const char* value) { SetDefaultInstanceProfileArn(value); return *this;} /** *

The stack's default operating system, which is installed on every instance * unless you specify a different operating system when you create the instance. * You can specify 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

  • A supported * Windows operating system, such as 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, see * * Using Custom AMIs.

The default option is the current * Amazon Linux version. For more information about supported operating systems, * see AWS * OpsWorks Stacks Operating Systems.

*/ inline const Aws::String& GetDefaultOs() const{ return m_defaultOs; } /** *

The stack's default operating system, which is installed on every instance * unless you specify a different operating system when you create the instance. * You can specify 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

  • A supported * Windows operating system, such as 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, see * * Using Custom AMIs.

The default option is the current * Amazon Linux version. For more information about supported operating systems, * see AWS * OpsWorks Stacks Operating Systems.

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

The stack's default operating system, which is installed on every instance * unless you specify a different operating system when you create the instance. * You can specify 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

  • A supported * Windows operating system, such as 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, see * * Using Custom AMIs.

The default option is the current * Amazon Linux version. For more information about supported operating systems, * see AWS * OpsWorks Stacks Operating Systems.

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

The stack's default operating system, which is installed on every instance * unless you specify a different operating system when you create the instance. * You can specify 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

  • A supported * Windows operating system, such as 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, see * * Using Custom AMIs.

The default option is the current * Amazon Linux version. For more information about supported operating systems, * see AWS * OpsWorks Stacks Operating Systems.

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

The stack's default operating system, which is installed on every instance * unless you specify a different operating system when you create the instance. * You can specify 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

  • A supported * Windows operating system, such as 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, see * * Using Custom AMIs.

The default option is the current * Amazon Linux version. For more information about supported operating systems, * see AWS * OpsWorks Stacks Operating Systems.

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

The stack's default operating system, which is installed on every instance * unless you specify a different operating system when you create the instance. * You can specify 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

  • A supported * Windows operating system, such as 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, see * * Using Custom AMIs.

The default option is the current * Amazon Linux version. For more information about supported operating systems, * see AWS * OpsWorks Stacks Operating Systems.

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

The stack's default operating system, which is installed on every instance * unless you specify a different operating system when you create the instance. * You can specify 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

  • A supported * Windows operating system, such as 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, see * * Using Custom AMIs.

The default option is the current * Amazon Linux version. For more information about supported operating systems, * see AWS * OpsWorks Stacks Operating Systems.

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

The stack's default operating system, which is installed on every instance * unless you specify a different operating system when you create the instance. * You can specify 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

  • A supported * Windows operating system, such as 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, see * * Using Custom AMIs.

The default option is the current * Amazon Linux version. For more information about supported operating systems, * see AWS * OpsWorks Stacks Operating Systems.

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

The stack's host name theme, with spaces 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 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 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 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 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 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 CreateStackRequest& WithHostnameTheme(const Aws::String& value) { SetHostnameTheme(value); return *this;} /** *

The stack's host name theme, with spaces 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 CreateStackRequest& WithHostnameTheme(Aws::String&& value) { SetHostnameTheme(std::move(value)); return *this;} /** *

The stack's host name theme, with spaces 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 CreateStackRequest& WithHostnameTheme(const char* value) { SetHostnameTheme(value); return *this;} /** *

The 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 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 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 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 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 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 CreateStackRequest& WithDefaultAvailabilityZone(const Aws::String& value) { SetDefaultAvailabilityZone(value); return *this;} /** *

The 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 CreateStackRequest& WithDefaultAvailabilityZone(Aws::String&& value) { SetDefaultAvailabilityZone(std::move(value)); return *this;} /** *

The 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 CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& WithDefaultSubnetId(const char* value) { SetDefaultSubnetId(value); return *this;} /** *

A string that contains user-defined, custom JSON. It can be used to override * the corresponding default stack configuration attribute values or to pass data * to recipes. 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 can be used to override * the corresponding default stack configuration attribute values or to pass data * to recipes. 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 can be used to override * the corresponding default stack configuration attribute values or to pass data * to recipes. 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 can be used to override * the corresponding default stack configuration attribute values or to pass data * to recipes. 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 can be used to override * the corresponding default stack configuration attribute values or to pass data * to recipes. 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 can be used to override * the corresponding default stack configuration attribute values or to pass data * to recipes. 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 CreateStackRequest& WithCustomJson(const Aws::String& value) { SetCustomJson(value); return *this;} /** *

A string that contains user-defined, custom JSON. It can be used to override * the corresponding default stack configuration attribute values or to pass data * to recipes. 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 CreateStackRequest& WithCustomJson(Aws::String&& value) { SetCustomJson(std::move(value)); return *this;} /** *

A string that contains user-defined, custom JSON. It can be used to override * the corresponding default stack configuration attribute values or to pass data * to recipes. 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 CreateStackRequest& WithCustomJson(const char* value) { SetCustomJson(value); return *this;} /** *

The configuration manager. When you create 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 create 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 create 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 create 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 create 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 CreateStackRequest& WithConfigurationManager(const StackConfigurationManager& value) { SetConfigurationManager(value); return *this;} /** *

The configuration manager. When you create 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 CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& WithChefConfiguration(ChefConfiguration&& value) { SetChefConfiguration(std::move(value)); return *this;} /** *

Whether the stack uses custom cookbooks.

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

Whether the stack uses custom cookbooks.

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

Whether the stack uses custom cookbooks.

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

Whether the stack uses custom cookbooks.

*/ inline CreateStackRequest& 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 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 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 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 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 CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& 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 CreateStackRequest& WithDefaultSshKeyName(const char* value) { SetDefaultSshKeyName(value); return *this;} /** *

The default root device type. This value is the default for all instances in * the stack, but you can override it when you create an instance. The default * option is instance-store. 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 the default for all instances in * the stack, but you can override it when you create an instance. The default * option is instance-store. For more information, see Storage * for the Root Device.

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

The default root device type. This value is the default for all instances in * the stack, but you can override it when you create an instance. The default * option is instance-store. 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 the default for all instances in * the stack, but you can override it when you create an instance. The default * option is instance-store. 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 the default for all instances in * the stack, but you can override it when you create an instance. The default * option is instance-store. For more information, see Storage * for the Root Device.

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

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

*/ inline CreateStackRequest& 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 the most recent * release of the agent. 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 the most recent * release of the agent. 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 the most recent * release of the agent. 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 the most recent * release of the agent. 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 the most recent * release of the agent. 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 the most recent * release of the agent. 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 CreateStackRequest& 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 the most recent * release of the agent. 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 CreateStackRequest& 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 the most recent * release of the agent. 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 CreateStackRequest& WithAgentVersion(const char* value) { SetAgentVersion(value); return *this;} private: 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; RootDeviceType m_defaultRootDeviceType; bool m_defaultRootDeviceTypeHasBeenSet = false; Aws::String m_agentVersion; bool m_agentVersionHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws