/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace OpsWorks { namespace Model { /** *

Describes a stack.

See Also:

AWS API * Reference

*/ class Stack { public: AWS_OPSWORKS_API Stack(); AWS_OPSWORKS_API Stack(Aws::Utils::Json::JsonView jsonValue); AWS_OPSWORKS_API Stack& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_OPSWORKS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The stack ID.

*/ inline const Aws::String& GetStackId() const{ return m_stackId; } /** *

The stack ID.

*/ inline bool StackIdHasBeenSet() const { return m_stackIdHasBeenSet; } /** *

The stack ID.

*/ inline void SetStackId(const Aws::String& value) { m_stackIdHasBeenSet = true; m_stackId = value; } /** *

The stack ID.

*/ inline void SetStackId(Aws::String&& value) { m_stackIdHasBeenSet = true; m_stackId = std::move(value); } /** *

The stack ID.

*/ inline void SetStackId(const char* value) { m_stackIdHasBeenSet = true; m_stackId.assign(value); } /** *

The stack ID.

*/ inline Stack& WithStackId(const Aws::String& value) { SetStackId(value); return *this;} /** *

The stack ID.

*/ inline Stack& WithStackId(Aws::String&& value) { SetStackId(std::move(value)); return *this;} /** *

The stack ID.

*/ inline Stack& WithStackId(const char* value) { SetStackId(value); return *this;} /** *

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 Stack& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The stack name.

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

The stack name.

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

The stack's ARN.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The stack's ARN.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The stack's ARN.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The stack's ARN.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The stack's ARN.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The stack's ARN.

*/ inline Stack& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The stack's ARN.

*/ inline Stack& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The stack's ARN.

*/ inline Stack& WithArn(const char* value) { SetArn(value); return *this;} /** *

The 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 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 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 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 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 stack AWS region, such as "ap-northeast-2". For more information about * AWS regions, see Regions and * Endpoints.

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

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

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

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

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

The VPC ID; applicable only if the stack is running in a VPC.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The VPC ID; applicable only if the stack is running in a VPC.

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

The VPC ID; applicable only if the stack is running in a VPC.

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

The VPC ID; applicable only if the stack is running in a VPC.

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

The VPC ID; applicable only if the stack is running in a VPC.

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

The VPC ID; applicable only if the stack is running in a VPC.

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

The VPC ID; applicable only if the stack is running in a VPC.

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

The VPC ID; applicable only if the stack is running in a VPC.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

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

The stack's attributes.

*/ inline Stack& 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.

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

The stack AWS Identity and Access Management (IAM) role.

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

The stack AWS Identity and Access Management (IAM) role.

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

The stack AWS Identity and Access Management (IAM) role.

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

The stack AWS Identity and Access Management (IAM) role.

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

The stack AWS Identity and Access Management (IAM) role.

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

The stack AWS Identity and Access Management (IAM) role.

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

The stack AWS Identity and Access Management (IAM) role.

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

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

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

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

The stack's default operating system.

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

The stack's default operating system.

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

The stack's default operating system.

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

The stack's default operating system.

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

The stack's default operating system.

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

The stack's default operating system.

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

The stack's default operating system.

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

The stack's default operating system.

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

The stack host name theme, with spaces replaced by underscores.

*/ inline const Aws::String& GetHostnameTheme() const{ return m_hostnameTheme; } /** *

The stack host name theme, with spaces replaced by underscores.

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

The stack host name theme, with spaces replaced by underscores.

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

The stack host name theme, with spaces replaced by underscores.

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

The stack host name theme, with spaces replaced by underscores.

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

The stack host name theme, with spaces replaced by underscores.

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

The stack host name theme, with spaces replaced by underscores.

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

The stack host name theme, with spaces replaced by underscores.

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

The stack's default Availability Zone. For more information, see Regions and * Endpoints.

*/ inline const Aws::String& GetDefaultAvailabilityZone() const{ return m_defaultAvailabilityZone; } /** *

The stack's default Availability Zone. For more information, see Regions and * Endpoints.

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

The stack's default Availability Zone. For more information, see Regions and * Endpoints.

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

The stack's default Availability Zone. For more information, see Regions and * Endpoints.

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

The stack's default Availability Zone. For more information, see Regions and * Endpoints.

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

The stack's default Availability Zone. For more information, see Regions and * Endpoints.

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

The stack's default Availability Zone. For more information, see Regions and * Endpoints.

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

The stack's default Availability Zone. For more information, see Regions and * Endpoints.

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

The default subnet ID; applicable only if the stack is running in a VPC.

*/ inline const Aws::String& GetDefaultSubnetId() const{ return m_defaultSubnetId; } /** *

The default subnet ID; applicable only if the stack is running in a VPC.

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

The default subnet ID; applicable only if the stack is running in a VPC.

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

The default subnet ID; applicable only if the stack is running in a VPC.

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

The default subnet ID; applicable only if the stack is running in a VPC.

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

The default subnet ID; applicable only if the stack is running in a VPC.

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

The default subnet ID; applicable only if the stack is running in a VPC.

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

The default subnet ID; applicable only if the stack is running in a VPC.

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

A JSON object that contains user-defined attributes to be added to the stack * configuration and deployment attributes. You can use custom JSON 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 on * custom JSON, see Use * Custom JSON to Modify the Stack Configuration Attributes.

*/ inline const Aws::String& GetCustomJson() const{ return m_customJson; } /** *

A JSON object that contains user-defined attributes to be added to the stack * configuration and deployment attributes. You can use custom JSON 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 on * custom JSON, see Use * Custom JSON to Modify the Stack Configuration Attributes.

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

A JSON object that contains user-defined attributes to be added to the stack * configuration and deployment attributes. You can use custom JSON 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 on * 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 JSON object that contains user-defined attributes to be added to the stack * configuration and deployment attributes. You can use custom JSON 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 on * 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 JSON object that contains user-defined attributes to be added to the stack * configuration and deployment attributes. You can use custom JSON 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 on * 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 JSON object that contains user-defined attributes to be added to the stack * configuration and deployment attributes. You can use custom JSON 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 on * custom JSON, see Use * Custom JSON to Modify the Stack Configuration Attributes.

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

A JSON object that contains user-defined attributes to be added to the stack * configuration and deployment attributes. You can use custom JSON 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 on * custom JSON, see Use * Custom JSON to Modify the Stack Configuration Attributes.

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

A JSON object that contains user-defined attributes to be added to the stack * configuration and deployment attributes. You can use custom JSON 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 on * custom JSON, see Use * Custom JSON to Modify the Stack Configuration Attributes.

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

The configuration manager.

*/ inline const StackConfigurationManager& GetConfigurationManager() const{ return m_configurationManager; } /** *

The configuration manager.

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

The configuration manager.

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

The configuration manager.

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

The configuration manager.

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

The configuration manager.

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

A ChefConfiguration object that specifies whether to enable * Berkshelf and the Berkshelf version. 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. 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. 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. 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. For more information, see Create * a New Stack.

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

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

*/ inline Stack& 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 Stack& WithUseCustomCookbooks(bool value) { SetUseCustomCookbooks(value); return *this;} /** *

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

*/ inline bool GetUseOpsworksSecurityGroups() const{ return m_useOpsworksSecurityGroups; } /** *

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

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

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

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

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

*/ inline Stack& 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 Stack& 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 Stack& WithCustomCookbooksSource(Source&& value) { SetCustomCookbooksSource(std::move(value)); return *this;} /** *

A default Amazon EC2 key pair for the stack's instances. You can override * this value when you create or update an instance.

*/ inline const Aws::String& GetDefaultSshKeyName() const{ return m_defaultSshKeyName; } /** *

A default Amazon EC2 key pair for the stack's instances. You can override * this value when you create or update an instance.

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

A default Amazon EC2 key pair for the stack's instances. You can override * this value when you create or update an instance.

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

A default Amazon EC2 key pair for the stack's instances. You can override * this value when you create or update an instance.

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

A default Amazon EC2 key pair for the stack's instances. You can override * this value when you create or update an instance.

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

A default Amazon EC2 key pair for the stack's instances. You can override * this value when you create or update an instance.

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

A default Amazon EC2 key pair for the stack's instances. You can override * this value when you create or update an instance.

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

A default Amazon EC2 key pair for the stack's instances. You can override * this value when you create or update an instance.

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

The date when the stack was created.

*/ inline const Aws::String& GetCreatedAt() const{ return m_createdAt; } /** *

The date when the stack was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The date when the stack was created.

*/ inline void SetCreatedAt(const Aws::String& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The date when the stack was created.

*/ inline void SetCreatedAt(Aws::String&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The date when the stack was created.

*/ inline void SetCreatedAt(const char* value) { m_createdAtHasBeenSet = true; m_createdAt.assign(value); } /** *

The date when the stack was created.

*/ inline Stack& WithCreatedAt(const Aws::String& value) { SetCreatedAt(value); return *this;} /** *

The date when the stack was created.

*/ inline Stack& WithCreatedAt(Aws::String&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The date when the stack was created.

*/ inline Stack& WithCreatedAt(const char* value) { SetCreatedAt(value); return *this;} /** *

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

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

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

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

The agent version. This parameter is set to LATEST for * auto-update. or a version number for a fixed agent version.

*/ inline const Aws::String& GetAgentVersion() const{ return m_agentVersion; } /** *

The agent version. This parameter is set to LATEST for * auto-update. or a version number for a fixed agent version.

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

The agent version. This parameter is set to LATEST for * auto-update. or a version number for a fixed agent version.

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

The agent version. This parameter is set to LATEST for * auto-update. or a version number for a fixed agent version.

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

The agent version. This parameter is set to LATEST for * auto-update. or a version number for a fixed agent version.

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

The agent version. This parameter is set to LATEST for * auto-update. or a version number for a fixed agent version.

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

The agent version. This parameter is set to LATEST for * auto-update. or a version number for a fixed agent version.

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

The agent version. This parameter is set to LATEST for * auto-update. or a version number for a fixed agent version.

*/ inline Stack& WithAgentVersion(const char* value) { SetAgentVersion(value); return *this;} private: Aws::String m_stackId; bool m_stackIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = 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; Aws::String m_createdAt; bool m_createdAtHasBeenSet = false; RootDeviceType m_defaultRootDeviceType; bool m_defaultRootDeviceTypeHasBeenSet = false; Aws::String m_agentVersion; bool m_agentVersionHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws