/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace OpsWorks { namespace Model { /** *

Describes a layer.

See Also:

AWS API * Reference

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

The Amazon Resource Number (ARN) of a layer.

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

The Amazon Resource Number (ARN) of a layer.

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

The Amazon Resource Number (ARN) of a layer.

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

The Amazon Resource Number (ARN) of a layer.

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

The Amazon Resource Number (ARN) of a layer.

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

The Amazon Resource Number (ARN) of a layer.

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

The Amazon Resource Number (ARN) of a layer.

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

The Amazon Resource Number (ARN) of a layer.

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

The layer stack ID.

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

The layer stack ID.

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

The layer stack ID.

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

The layer stack ID.

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

The layer stack ID.

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

The layer stack ID.

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

The layer stack ID.

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

The layer stack ID.

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

The layer ID.

*/ inline const Aws::String& GetLayerId() const{ return m_layerId; } /** *

The layer ID.

*/ inline bool LayerIdHasBeenSet() const { return m_layerIdHasBeenSet; } /** *

The layer ID.

*/ inline void SetLayerId(const Aws::String& value) { m_layerIdHasBeenSet = true; m_layerId = value; } /** *

The layer ID.

*/ inline void SetLayerId(Aws::String&& value) { m_layerIdHasBeenSet = true; m_layerId = std::move(value); } /** *

The layer ID.

*/ inline void SetLayerId(const char* value) { m_layerIdHasBeenSet = true; m_layerId.assign(value); } /** *

The layer ID.

*/ inline Layer& WithLayerId(const Aws::String& value) { SetLayerId(value); return *this;} /** *

The layer ID.

*/ inline Layer& WithLayerId(Aws::String&& value) { SetLayerId(std::move(value)); return *this;} /** *

The layer ID.

*/ inline Layer& WithLayerId(const char* value) { SetLayerId(value); return *this;} /** *

The layer type.

*/ inline const LayerType& GetType() const{ return m_type; } /** *

The layer type.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The layer type.

*/ inline void SetType(const LayerType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The layer type.

*/ inline void SetType(LayerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The layer type.

*/ inline Layer& WithType(const LayerType& value) { SetType(value); return *this;} /** *

The layer type.

*/ inline Layer& WithType(LayerType&& value) { SetType(std::move(value)); return *this;} /** *

The layer name.

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

The layer name.

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

The layer name.

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

The layer name.

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

The layer name.

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

The layer name.

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

The layer name.

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

The layer name.

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

The layer short name.

*/ inline const Aws::String& GetShortname() const{ return m_shortname; } /** *

The layer short name.

*/ inline bool ShortnameHasBeenSet() const { return m_shortnameHasBeenSet; } /** *

The layer short name.

*/ inline void SetShortname(const Aws::String& value) { m_shortnameHasBeenSet = true; m_shortname = value; } /** *

The layer short name.

*/ inline void SetShortname(Aws::String&& value) { m_shortnameHasBeenSet = true; m_shortname = std::move(value); } /** *

The layer short name.

*/ inline void SetShortname(const char* value) { m_shortnameHasBeenSet = true; m_shortname.assign(value); } /** *

The layer short name.

*/ inline Layer& WithShortname(const Aws::String& value) { SetShortname(value); return *this;} /** *

The layer short name.

*/ inline Layer& WithShortname(Aws::String&& value) { SetShortname(std::move(value)); return *this;} /** *

The layer short name.

*/ inline Layer& WithShortname(const char* value) { SetShortname(value); return *this;} /** *

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The layer attributes.

For the HaproxyStatsPassword, * MysqlRootPassword, and GangliaPassword attributes, AWS * OpsWorks Stacks returns *****FILTERED***** instead of the actual * value

For an ECS Cluster layer, AWS OpsWorks Stacks the * EcsClusterArn attribute is set to the cluster's ARN.

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

The Amazon CloudWatch Logs configuration settings for the layer.

*/ inline const CloudWatchLogsConfiguration& GetCloudWatchLogsConfiguration() const{ return m_cloudWatchLogsConfiguration; } /** *

The Amazon CloudWatch Logs configuration settings for the layer.

*/ inline bool CloudWatchLogsConfigurationHasBeenSet() const { return m_cloudWatchLogsConfigurationHasBeenSet; } /** *

The Amazon CloudWatch Logs configuration settings for the layer.

*/ inline void SetCloudWatchLogsConfiguration(const CloudWatchLogsConfiguration& value) { m_cloudWatchLogsConfigurationHasBeenSet = true; m_cloudWatchLogsConfiguration = value; } /** *

The Amazon CloudWatch Logs configuration settings for the layer.

*/ inline void SetCloudWatchLogsConfiguration(CloudWatchLogsConfiguration&& value) { m_cloudWatchLogsConfigurationHasBeenSet = true; m_cloudWatchLogsConfiguration = std::move(value); } /** *

The Amazon CloudWatch Logs configuration settings for the layer.

*/ inline Layer& WithCloudWatchLogsConfiguration(const CloudWatchLogsConfiguration& value) { SetCloudWatchLogsConfiguration(value); return *this;} /** *

The Amazon CloudWatch Logs configuration settings for the layer.

*/ inline Layer& WithCloudWatchLogsConfiguration(CloudWatchLogsConfiguration&& value) { SetCloudWatchLogsConfiguration(std::move(value)); return *this;} /** *

The ARN of the default IAM profile to be used for the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

*/ inline const Aws::String& GetCustomInstanceProfileArn() const{ return m_customInstanceProfileArn; } /** *

The ARN of the default IAM profile to be used for the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

*/ inline bool CustomInstanceProfileArnHasBeenSet() const { return m_customInstanceProfileArnHasBeenSet; } /** *

The ARN of the default IAM profile to be used for the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

*/ inline void SetCustomInstanceProfileArn(const Aws::String& value) { m_customInstanceProfileArnHasBeenSet = true; m_customInstanceProfileArn = value; } /** *

The ARN of the default IAM profile to be used for the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

*/ inline void SetCustomInstanceProfileArn(Aws::String&& value) { m_customInstanceProfileArnHasBeenSet = true; m_customInstanceProfileArn = std::move(value); } /** *

The ARN of the default IAM profile to be used for the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

*/ inline void SetCustomInstanceProfileArn(const char* value) { m_customInstanceProfileArnHasBeenSet = true; m_customInstanceProfileArn.assign(value); } /** *

The ARN of the default IAM profile to be used for the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

*/ inline Layer& WithCustomInstanceProfileArn(const Aws::String& value) { SetCustomInstanceProfileArn(value); return *this;} /** *

The ARN of the default IAM profile to be used for the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

*/ inline Layer& WithCustomInstanceProfileArn(Aws::String&& value) { SetCustomInstanceProfileArn(std::move(value)); return *this;} /** *

The ARN of the default IAM profile to be used for the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

*/ inline Layer& WithCustomInstanceProfileArn(const char* value) { SetCustomInstanceProfileArn(value); return *this;} /** *

A JSON formatted string containing the layer's custom stack configuration and * deployment attributes.

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

A JSON formatted string containing the layer's custom stack configuration and * deployment attributes.

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

A JSON formatted string containing the layer's custom stack configuration and * deployment attributes.

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

A JSON formatted string containing the layer's custom stack configuration and * deployment attributes.

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

A JSON formatted string containing the layer's custom stack configuration and * deployment attributes.

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

A JSON formatted string containing the layer's custom stack configuration and * deployment attributes.

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

A JSON formatted string containing the layer's custom stack configuration and * deployment attributes.

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

A JSON formatted string containing the layer's custom stack configuration and * deployment attributes.

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

An array containing the layer's custom security group IDs.

*/ inline const Aws::Vector& GetCustomSecurityGroupIds() const{ return m_customSecurityGroupIds; } /** *

An array containing the layer's custom security group IDs.

*/ inline bool CustomSecurityGroupIdsHasBeenSet() const { return m_customSecurityGroupIdsHasBeenSet; } /** *

An array containing the layer's custom security group IDs.

*/ inline void SetCustomSecurityGroupIds(const Aws::Vector& value) { m_customSecurityGroupIdsHasBeenSet = true; m_customSecurityGroupIds = value; } /** *

An array containing the layer's custom security group IDs.

*/ inline void SetCustomSecurityGroupIds(Aws::Vector&& value) { m_customSecurityGroupIdsHasBeenSet = true; m_customSecurityGroupIds = std::move(value); } /** *

An array containing the layer's custom security group IDs.

*/ inline Layer& WithCustomSecurityGroupIds(const Aws::Vector& value) { SetCustomSecurityGroupIds(value); return *this;} /** *

An array containing the layer's custom security group IDs.

*/ inline Layer& WithCustomSecurityGroupIds(Aws::Vector&& value) { SetCustomSecurityGroupIds(std::move(value)); return *this;} /** *

An array containing the layer's custom security group IDs.

*/ inline Layer& AddCustomSecurityGroupIds(const Aws::String& value) { m_customSecurityGroupIdsHasBeenSet = true; m_customSecurityGroupIds.push_back(value); return *this; } /** *

An array containing the layer's custom security group IDs.

*/ inline Layer& AddCustomSecurityGroupIds(Aws::String&& value) { m_customSecurityGroupIdsHasBeenSet = true; m_customSecurityGroupIds.push_back(std::move(value)); return *this; } /** *

An array containing the layer's custom security group IDs.

*/ inline Layer& AddCustomSecurityGroupIds(const char* value) { m_customSecurityGroupIdsHasBeenSet = true; m_customSecurityGroupIds.push_back(value); return *this; } /** *

An array containing the layer's security group names.

*/ inline const Aws::Vector& GetDefaultSecurityGroupNames() const{ return m_defaultSecurityGroupNames; } /** *

An array containing the layer's security group names.

*/ inline bool DefaultSecurityGroupNamesHasBeenSet() const { return m_defaultSecurityGroupNamesHasBeenSet; } /** *

An array containing the layer's security group names.

*/ inline void SetDefaultSecurityGroupNames(const Aws::Vector& value) { m_defaultSecurityGroupNamesHasBeenSet = true; m_defaultSecurityGroupNames = value; } /** *

An array containing the layer's security group names.

*/ inline void SetDefaultSecurityGroupNames(Aws::Vector&& value) { m_defaultSecurityGroupNamesHasBeenSet = true; m_defaultSecurityGroupNames = std::move(value); } /** *

An array containing the layer's security group names.

*/ inline Layer& WithDefaultSecurityGroupNames(const Aws::Vector& value) { SetDefaultSecurityGroupNames(value); return *this;} /** *

An array containing the layer's security group names.

*/ inline Layer& WithDefaultSecurityGroupNames(Aws::Vector&& value) { SetDefaultSecurityGroupNames(std::move(value)); return *this;} /** *

An array containing the layer's security group names.

*/ inline Layer& AddDefaultSecurityGroupNames(const Aws::String& value) { m_defaultSecurityGroupNamesHasBeenSet = true; m_defaultSecurityGroupNames.push_back(value); return *this; } /** *

An array containing the layer's security group names.

*/ inline Layer& AddDefaultSecurityGroupNames(Aws::String&& value) { m_defaultSecurityGroupNamesHasBeenSet = true; m_defaultSecurityGroupNames.push_back(std::move(value)); return *this; } /** *

An array containing the layer's security group names.

*/ inline Layer& AddDefaultSecurityGroupNames(const char* value) { m_defaultSecurityGroupNamesHasBeenSet = true; m_defaultSecurityGroupNames.push_back(value); return *this; } /** *

An array of Package objects that describe the layer's * packages.

*/ inline const Aws::Vector& GetPackages() const{ return m_packages; } /** *

An array of Package objects that describe the layer's * packages.

*/ inline bool PackagesHasBeenSet() const { return m_packagesHasBeenSet; } /** *

An array of Package objects that describe the layer's * packages.

*/ inline void SetPackages(const Aws::Vector& value) { m_packagesHasBeenSet = true; m_packages = value; } /** *

An array of Package objects that describe the layer's * packages.

*/ inline void SetPackages(Aws::Vector&& value) { m_packagesHasBeenSet = true; m_packages = std::move(value); } /** *

An array of Package objects that describe the layer's * packages.

*/ inline Layer& WithPackages(const Aws::Vector& value) { SetPackages(value); return *this;} /** *

An array of Package objects that describe the layer's * packages.

*/ inline Layer& WithPackages(Aws::Vector&& value) { SetPackages(std::move(value)); return *this;} /** *

An array of Package objects that describe the layer's * packages.

*/ inline Layer& AddPackages(const Aws::String& value) { m_packagesHasBeenSet = true; m_packages.push_back(value); return *this; } /** *

An array of Package objects that describe the layer's * packages.

*/ inline Layer& AddPackages(Aws::String&& value) { m_packagesHasBeenSet = true; m_packages.push_back(std::move(value)); return *this; } /** *

An array of Package objects that describe the layer's * packages.

*/ inline Layer& AddPackages(const char* value) { m_packagesHasBeenSet = true; m_packages.push_back(value); return *this; } /** *

A VolumeConfigurations object that describes the layer's Amazon * EBS volumes.

*/ inline const Aws::Vector& GetVolumeConfigurations() const{ return m_volumeConfigurations; } /** *

A VolumeConfigurations object that describes the layer's Amazon * EBS volumes.

*/ inline bool VolumeConfigurationsHasBeenSet() const { return m_volumeConfigurationsHasBeenSet; } /** *

A VolumeConfigurations object that describes the layer's Amazon * EBS volumes.

*/ inline void SetVolumeConfigurations(const Aws::Vector& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations = value; } /** *

A VolumeConfigurations object that describes the layer's Amazon * EBS volumes.

*/ inline void SetVolumeConfigurations(Aws::Vector&& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations = std::move(value); } /** *

A VolumeConfigurations object that describes the layer's Amazon * EBS volumes.

*/ inline Layer& WithVolumeConfigurations(const Aws::Vector& value) { SetVolumeConfigurations(value); return *this;} /** *

A VolumeConfigurations object that describes the layer's Amazon * EBS volumes.

*/ inline Layer& WithVolumeConfigurations(Aws::Vector&& value) { SetVolumeConfigurations(std::move(value)); return *this;} /** *

A VolumeConfigurations object that describes the layer's Amazon * EBS volumes.

*/ inline Layer& AddVolumeConfigurations(const VolumeConfiguration& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations.push_back(value); return *this; } /** *

A VolumeConfigurations object that describes the layer's Amazon * EBS volumes.

*/ inline Layer& AddVolumeConfigurations(VolumeConfiguration&& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations.push_back(std::move(value)); return *this; } /** *

Whether auto healing is disabled for the layer.

*/ inline bool GetEnableAutoHealing() const{ return m_enableAutoHealing; } /** *

Whether auto healing is disabled for the layer.

*/ inline bool EnableAutoHealingHasBeenSet() const { return m_enableAutoHealingHasBeenSet; } /** *

Whether auto healing is disabled for the layer.

*/ inline void SetEnableAutoHealing(bool value) { m_enableAutoHealingHasBeenSet = true; m_enableAutoHealing = value; } /** *

Whether auto healing is disabled for the layer.

*/ inline Layer& WithEnableAutoHealing(bool value) { SetEnableAutoHealing(value); return *this;} /** *

Whether to automatically assign an Elastic * IP address to the layer's instances. For more information, see How * to Edit a Layer.

*/ inline bool GetAutoAssignElasticIps() const{ return m_autoAssignElasticIps; } /** *

Whether to automatically assign an Elastic * IP address to the layer's instances. For more information, see How * to Edit a Layer.

*/ inline bool AutoAssignElasticIpsHasBeenSet() const { return m_autoAssignElasticIpsHasBeenSet; } /** *

Whether to automatically assign an Elastic * IP address to the layer's instances. For more information, see How * to Edit a Layer.

*/ inline void SetAutoAssignElasticIps(bool value) { m_autoAssignElasticIpsHasBeenSet = true; m_autoAssignElasticIps = value; } /** *

Whether to automatically assign an Elastic * IP address to the layer's instances. For more information, see How * to Edit a Layer.

*/ inline Layer& WithAutoAssignElasticIps(bool value) { SetAutoAssignElasticIps(value); return *this;} /** *

For stacks that are running in a VPC, whether to automatically assign a * public IP address to the layer's instances. For more information, see How * to Edit a Layer.

*/ inline bool GetAutoAssignPublicIps() const{ return m_autoAssignPublicIps; } /** *

For stacks that are running in a VPC, whether to automatically assign a * public IP address to the layer's instances. For more information, see How * to Edit a Layer.

*/ inline bool AutoAssignPublicIpsHasBeenSet() const { return m_autoAssignPublicIpsHasBeenSet; } /** *

For stacks that are running in a VPC, whether to automatically assign a * public IP address to the layer's instances. For more information, see How * to Edit a Layer.

*/ inline void SetAutoAssignPublicIps(bool value) { m_autoAssignPublicIpsHasBeenSet = true; m_autoAssignPublicIps = value; } /** *

For stacks that are running in a VPC, whether to automatically assign a * public IP address to the layer's instances. For more information, see How * to Edit a Layer.

*/ inline Layer& WithAutoAssignPublicIps(bool value) { SetAutoAssignPublicIps(value); return *this;} /** *

AWS OpsWorks Stacks supports five lifecycle events: setup, * configuration, deploy, undeploy, and shutdown. For * each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. * You can also provide custom recipes for any or all layers and events. AWS * OpsWorks Stacks runs custom event recipes after the standard recipes. * LayerCustomRecipes specifies the custom recipes for a particular * layer to be run in response to each of the five events.

To specify a * recipe, use the cookbook's directory name in the repository followed by two * colons and the recipe name, which is the recipe's file name without the * .rb extension. For example: phpapp2::dbsetup specifies * the dbsetup.rb recipe in the repository's phpapp2 * folder.

*/ inline const Recipes& GetDefaultRecipes() const{ return m_defaultRecipes; } /** *

AWS OpsWorks Stacks supports five lifecycle events: setup, * configuration, deploy, undeploy, and shutdown. For * each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. * You can also provide custom recipes for any or all layers and events. AWS * OpsWorks Stacks runs custom event recipes after the standard recipes. * LayerCustomRecipes specifies the custom recipes for a particular * layer to be run in response to each of the five events.

To specify a * recipe, use the cookbook's directory name in the repository followed by two * colons and the recipe name, which is the recipe's file name without the * .rb extension. For example: phpapp2::dbsetup specifies * the dbsetup.rb recipe in the repository's phpapp2 * folder.

*/ inline bool DefaultRecipesHasBeenSet() const { return m_defaultRecipesHasBeenSet; } /** *

AWS OpsWorks Stacks supports five lifecycle events: setup, * configuration, deploy, undeploy, and shutdown. For * each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. * You can also provide custom recipes for any or all layers and events. AWS * OpsWorks Stacks runs custom event recipes after the standard recipes. * LayerCustomRecipes specifies the custom recipes for a particular * layer to be run in response to each of the five events.

To specify a * recipe, use the cookbook's directory name in the repository followed by two * colons and the recipe name, which is the recipe's file name without the * .rb extension. For example: phpapp2::dbsetup specifies * the dbsetup.rb recipe in the repository's phpapp2 * folder.

*/ inline void SetDefaultRecipes(const Recipes& value) { m_defaultRecipesHasBeenSet = true; m_defaultRecipes = value; } /** *

AWS OpsWorks Stacks supports five lifecycle events: setup, * configuration, deploy, undeploy, and shutdown. For * each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. * You can also provide custom recipes for any or all layers and events. AWS * OpsWorks Stacks runs custom event recipes after the standard recipes. * LayerCustomRecipes specifies the custom recipes for a particular * layer to be run in response to each of the five events.

To specify a * recipe, use the cookbook's directory name in the repository followed by two * colons and the recipe name, which is the recipe's file name without the * .rb extension. For example: phpapp2::dbsetup specifies * the dbsetup.rb recipe in the repository's phpapp2 * folder.

*/ inline void SetDefaultRecipes(Recipes&& value) { m_defaultRecipesHasBeenSet = true; m_defaultRecipes = std::move(value); } /** *

AWS OpsWorks Stacks supports five lifecycle events: setup, * configuration, deploy, undeploy, and shutdown. For * each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. * You can also provide custom recipes for any or all layers and events. AWS * OpsWorks Stacks runs custom event recipes after the standard recipes. * LayerCustomRecipes specifies the custom recipes for a particular * layer to be run in response to each of the five events.

To specify a * recipe, use the cookbook's directory name in the repository followed by two * colons and the recipe name, which is the recipe's file name without the * .rb extension. For example: phpapp2::dbsetup specifies * the dbsetup.rb recipe in the repository's phpapp2 * folder.

*/ inline Layer& WithDefaultRecipes(const Recipes& value) { SetDefaultRecipes(value); return *this;} /** *

AWS OpsWorks Stacks supports five lifecycle events: setup, * configuration, deploy, undeploy, and shutdown. For * each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. * You can also provide custom recipes for any or all layers and events. AWS * OpsWorks Stacks runs custom event recipes after the standard recipes. * LayerCustomRecipes specifies the custom recipes for a particular * layer to be run in response to each of the five events.

To specify a * recipe, use the cookbook's directory name in the repository followed by two * colons and the recipe name, which is the recipe's file name without the * .rb extension. For example: phpapp2::dbsetup specifies * the dbsetup.rb recipe in the repository's phpapp2 * folder.

*/ inline Layer& WithDefaultRecipes(Recipes&& value) { SetDefaultRecipes(std::move(value)); return *this;} /** *

A LayerCustomRecipes object that specifies the layer's custom * recipes.

*/ inline const Recipes& GetCustomRecipes() const{ return m_customRecipes; } /** *

A LayerCustomRecipes object that specifies the layer's custom * recipes.

*/ inline bool CustomRecipesHasBeenSet() const { return m_customRecipesHasBeenSet; } /** *

A LayerCustomRecipes object that specifies the layer's custom * recipes.

*/ inline void SetCustomRecipes(const Recipes& value) { m_customRecipesHasBeenSet = true; m_customRecipes = value; } /** *

A LayerCustomRecipes object that specifies the layer's custom * recipes.

*/ inline void SetCustomRecipes(Recipes&& value) { m_customRecipesHasBeenSet = true; m_customRecipes = std::move(value); } /** *

A LayerCustomRecipes object that specifies the layer's custom * recipes.

*/ inline Layer& WithCustomRecipes(const Recipes& value) { SetCustomRecipes(value); return *this;} /** *

A LayerCustomRecipes object that specifies the layer's custom * recipes.

*/ inline Layer& WithCustomRecipes(Recipes&& value) { SetCustomRecipes(std::move(value)); return *this;} /** *

Date when the layer was created.

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

Date when the layer was created.

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

Date when the layer was created.

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

Date when the layer was created.

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

Date when the layer was created.

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

Date when the layer was created.

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

Date when the layer was created.

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

Date when the layer was created.

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

Whether to install operating system and package updates when the instance * boots. The default value is true. If this value is set to * false, you must then update your instances manually by using * CreateDeployment to run the update_dependencies stack * command or manually running yum (Amazon Linux) or * apt-get (Ubuntu) on the instances.

We strongly * recommend using the default value of true, to ensure that your * instances have the latest security updates.

*/ inline bool GetInstallUpdatesOnBoot() const{ return m_installUpdatesOnBoot; } /** *

Whether to install operating system and package updates when the instance * boots. The default value is true. If this value is set to * false, you must then update your instances manually by using * CreateDeployment to run the update_dependencies stack * command or manually running yum (Amazon Linux) or * apt-get (Ubuntu) on the instances.

We strongly * recommend using the default value of true, to ensure that your * instances have the latest security updates.

*/ inline bool InstallUpdatesOnBootHasBeenSet() const { return m_installUpdatesOnBootHasBeenSet; } /** *

Whether to install operating system and package updates when the instance * boots. The default value is true. If this value is set to * false, you must then update your instances manually by using * CreateDeployment to run the update_dependencies stack * command or manually running yum (Amazon Linux) or * apt-get (Ubuntu) on the instances.

We strongly * recommend using the default value of true, to ensure that your * instances have the latest security updates.

*/ inline void SetInstallUpdatesOnBoot(bool value) { m_installUpdatesOnBootHasBeenSet = true; m_installUpdatesOnBoot = value; } /** *

Whether to install operating system and package updates when the instance * boots. The default value is true. If this value is set to * false, you must then update your instances manually by using * CreateDeployment to run the update_dependencies stack * command or manually running yum (Amazon Linux) or * apt-get (Ubuntu) on the instances.

We strongly * recommend using the default value of true, to ensure that your * instances have the latest security updates.

*/ inline Layer& WithInstallUpdatesOnBoot(bool value) { SetInstallUpdatesOnBoot(value); return *this;} /** *

Whether the layer uses Amazon EBS-optimized instances.

*/ inline bool GetUseEbsOptimizedInstances() const{ return m_useEbsOptimizedInstances; } /** *

Whether the layer uses Amazon EBS-optimized instances.

*/ inline bool UseEbsOptimizedInstancesHasBeenSet() const { return m_useEbsOptimizedInstancesHasBeenSet; } /** *

Whether the layer uses Amazon EBS-optimized instances.

*/ inline void SetUseEbsOptimizedInstances(bool value) { m_useEbsOptimizedInstancesHasBeenSet = true; m_useEbsOptimizedInstances = value; } /** *

Whether the layer uses Amazon EBS-optimized instances.

*/ inline Layer& WithUseEbsOptimizedInstances(bool value) { SetUseEbsOptimizedInstances(value); return *this;} /** *

A LifeCycleEventConfiguration object that specifies the Shutdown * event configuration.

*/ inline const LifecycleEventConfiguration& GetLifecycleEventConfiguration() const{ return m_lifecycleEventConfiguration; } /** *

A LifeCycleEventConfiguration object that specifies the Shutdown * event configuration.

*/ inline bool LifecycleEventConfigurationHasBeenSet() const { return m_lifecycleEventConfigurationHasBeenSet; } /** *

A LifeCycleEventConfiguration object that specifies the Shutdown * event configuration.

*/ inline void SetLifecycleEventConfiguration(const LifecycleEventConfiguration& value) { m_lifecycleEventConfigurationHasBeenSet = true; m_lifecycleEventConfiguration = value; } /** *

A LifeCycleEventConfiguration object that specifies the Shutdown * event configuration.

*/ inline void SetLifecycleEventConfiguration(LifecycleEventConfiguration&& value) { m_lifecycleEventConfigurationHasBeenSet = true; m_lifecycleEventConfiguration = std::move(value); } /** *

A LifeCycleEventConfiguration object that specifies the Shutdown * event configuration.

*/ inline Layer& WithLifecycleEventConfiguration(const LifecycleEventConfiguration& value) { SetLifecycleEventConfiguration(value); return *this;} /** *

A LifeCycleEventConfiguration object that specifies the Shutdown * event configuration.

*/ inline Layer& WithLifecycleEventConfiguration(LifecycleEventConfiguration&& value) { SetLifecycleEventConfiguration(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_stackId; bool m_stackIdHasBeenSet = false; Aws::String m_layerId; bool m_layerIdHasBeenSet = false; LayerType m_type; bool m_typeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_shortname; bool m_shortnameHasBeenSet = false; Aws::Map m_attributes; bool m_attributesHasBeenSet = false; CloudWatchLogsConfiguration m_cloudWatchLogsConfiguration; bool m_cloudWatchLogsConfigurationHasBeenSet = false; Aws::String m_customInstanceProfileArn; bool m_customInstanceProfileArnHasBeenSet = false; Aws::String m_customJson; bool m_customJsonHasBeenSet = false; Aws::Vector m_customSecurityGroupIds; bool m_customSecurityGroupIdsHasBeenSet = false; Aws::Vector m_defaultSecurityGroupNames; bool m_defaultSecurityGroupNamesHasBeenSet = false; Aws::Vector m_packages; bool m_packagesHasBeenSet = false; Aws::Vector m_volumeConfigurations; bool m_volumeConfigurationsHasBeenSet = false; bool m_enableAutoHealing; bool m_enableAutoHealingHasBeenSet = false; bool m_autoAssignElasticIps; bool m_autoAssignElasticIpsHasBeenSet = false; bool m_autoAssignPublicIps; bool m_autoAssignPublicIpsHasBeenSet = false; Recipes m_defaultRecipes; bool m_defaultRecipesHasBeenSet = false; Recipes m_customRecipes; bool m_customRecipesHasBeenSet = false; Aws::String m_createdAt; bool m_createdAtHasBeenSet = false; bool m_installUpdatesOnBoot; bool m_installUpdatesOnBootHasBeenSet = false; bool m_useEbsOptimizedInstances; bool m_useEbsOptimizedInstancesHasBeenSet = false; LifecycleEventConfiguration m_lifecycleEventConfiguration; bool m_lifecycleEventConfigurationHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws