/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace OpsWorks { namespace Model { /** */ class UpdateLayerRequest : public OpsWorksRequest { public: AWS_OPSWORKS_API UpdateLayerRequest(); // 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 "UpdateLayer"; } AWS_OPSWORKS_API Aws::String SerializePayload() const override; AWS_OPSWORKS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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 UpdateLayerRequest& WithLayerId(const Aws::String& value) { SetLayerId(value); return *this;} /** *

The layer ID.

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

The layer ID.

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

The layer name, which is used by the console.

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

The layer name, which is used by the console.

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

The layer name, which is used by the console.

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

The layer name, which is used by the console.

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

The layer name, which is used by the console.

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

The layer name, which is used by the console.

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

The layer name, which is used by the console.

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

The layer name, which is used by the console.

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

For custom layers only, use this parameter to specify the layer's short name, * which is used internally by AWS OpsWorks Stacks and by Chef. The short name is * also used as the name for the directory where your app files are installed. It * can have a maximum of 200 characters and must be in the following format: * /\A[a-z0-9\-\_\.]+\Z/.

The built-in layers' short names are defined by * AWS OpsWorks Stacks. For more information, see the Layer * Reference

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

For custom layers only, use this parameter to specify the layer's short name, * which is used internally by AWS OpsWorks Stacks and by Chef. The short name is * also used as the name for the directory where your app files are installed. It * can have a maximum of 200 characters and must be in the following format: * /\A[a-z0-9\-\_\.]+\Z/.

The built-in layers' short names are defined by * AWS OpsWorks Stacks. For more information, see the Layer * Reference

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

For custom layers only, use this parameter to specify the layer's short name, * which is used internally by AWS OpsWorks Stacks and by Chef. The short name is * also used as the name for the directory where your app files are installed. It * can have a maximum of 200 characters and must be in the following format: * /\A[a-z0-9\-\_\.]+\Z/.

The built-in layers' short names are defined by * AWS OpsWorks Stacks. For more information, see the Layer * Reference

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

For custom layers only, use this parameter to specify the layer's short name, * which is used internally by AWS OpsWorks Stacks and by Chef. The short name is * also used as the name for the directory where your app files are installed. It * can have a maximum of 200 characters and must be in the following format: * /\A[a-z0-9\-\_\.]+\Z/.

The built-in layers' short names are defined by * AWS OpsWorks Stacks. For more information, see the Layer * Reference

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

For custom layers only, use this parameter to specify the layer's short name, * which is used internally by AWS OpsWorks Stacks and by Chef. The short name is * also used as the name for the directory where your app files are installed. It * can have a maximum of 200 characters and must be in the following format: * /\A[a-z0-9\-\_\.]+\Z/.

The built-in layers' short names are defined by * AWS OpsWorks Stacks. For more information, see the Layer * Reference

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

For custom layers only, use this parameter to specify the layer's short name, * which is used internally by AWS OpsWorks Stacks and by Chef. The short name is * also used as the name for the directory where your app files are installed. It * can have a maximum of 200 characters and must be in the following format: * /\A[a-z0-9\-\_\.]+\Z/.

The built-in layers' short names are defined by * AWS OpsWorks Stacks. For more information, see the Layer * Reference

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

For custom layers only, use this parameter to specify the layer's short name, * which is used internally by AWS OpsWorks Stacks and by Chef. The short name is * also used as the name for the directory where your app files are installed. It * can have a maximum of 200 characters and must be in the following format: * /\A[a-z0-9\-\_\.]+\Z/.

The built-in layers' short names are defined by * AWS OpsWorks Stacks. For more information, see the Layer * Reference

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

For custom layers only, use this parameter to specify the layer's short name, * which is used internally by AWS OpsWorks Stacks and by Chef. The short name is * also used as the name for the directory where your app files are installed. It * can have a maximum of 200 characters and must be in the following format: * /\A[a-z0-9\-\_\.]+\Z/.

The built-in layers' short names are defined by * AWS OpsWorks Stacks. For more information, see the Layer * Reference

*/ inline UpdateLayerRequest& WithShortname(const char* value) { SetShortname(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 UpdateLayerRequest& 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 UpdateLayerRequest& 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 UpdateLayerRequest& AddAttributes(const LayerAttributesKeys& 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 UpdateLayerRequest& AddAttributes(LayerAttributesKeys&& 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 UpdateLayerRequest& AddAttributes(const LayerAttributesKeys& 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 UpdateLayerRequest& AddAttributes(LayerAttributesKeys&& 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 UpdateLayerRequest& AddAttributes(LayerAttributesKeys&& 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 UpdateLayerRequest& AddAttributes(const LayerAttributesKeys& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

Specifies CloudWatch Logs configuration options for the layer. For more * information, see CloudWatchLogsLogStream.

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

Specifies CloudWatch Logs configuration options for the layer. For more * information, see CloudWatchLogsLogStream.

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

Specifies CloudWatch Logs configuration options for the layer. For more * information, see CloudWatchLogsLogStream.

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

Specifies CloudWatch Logs configuration options for the layer. For more * information, see CloudWatchLogsLogStream.

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

Specifies CloudWatch Logs configuration options for the layer. For more * information, see CloudWatchLogsLogStream.

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

Specifies CloudWatch Logs configuration options for the layer. For more * information, see CloudWatchLogsLogStream.

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

The ARN of an IAM profile to be used for all of 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 an IAM profile to be used for all of the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

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

The ARN of an IAM profile to be used for all of 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 an IAM profile to be used for all of 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 an IAM profile to be used for all of 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 an IAM profile to be used for all of the layer's EC2 instances. * For more information about IAM ARNs, see Using * Identifiers.

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

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

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

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

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

A JSON-formatted string containing custom stack configuration and deployment * attributes to be installed on the layer's instances. For more information, see * * Using Custom JSON.

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

A JSON-formatted string containing custom stack configuration and deployment * attributes to be installed on the layer's instances. For more information, see * * Using Custom JSON.

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

A JSON-formatted string containing custom stack configuration and deployment * attributes to be installed on the layer's instances. For more information, see * * Using Custom JSON.

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

A JSON-formatted string containing custom stack configuration and deployment * attributes to be installed on the layer's instances. For more information, see * * Using Custom JSON.

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

A JSON-formatted string containing custom stack configuration and deployment * attributes to be installed on the layer's instances. For more information, see * * Using Custom JSON.

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

A JSON-formatted string containing custom stack configuration and deployment * attributes to be installed on the layer's instances. For more information, see * * Using Custom JSON.

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

A JSON-formatted string containing custom stack configuration and deployment * attributes to be installed on the layer's instances. For more information, see * * Using Custom JSON.

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

A JSON-formatted string containing custom stack configuration and deployment * attributes to be installed on the layer's instances. For more information, see * * Using Custom JSON.

*/ inline UpdateLayerRequest& 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 UpdateLayerRequest& WithCustomSecurityGroupIds(const Aws::Vector& value) { SetCustomSecurityGroupIds(value); return *this;} /** *

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

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

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

*/ inline UpdateLayerRequest& 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 UpdateLayerRequest& 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 UpdateLayerRequest& AddCustomSecurityGroupIds(const char* value) { m_customSecurityGroupIdsHasBeenSet = true; m_customSecurityGroupIds.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 UpdateLayerRequest& WithPackages(const Aws::Vector& value) { SetPackages(value); return *this;} /** *

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

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

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

*/ inline UpdateLayerRequest& 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 UpdateLayerRequest& 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 UpdateLayerRequest& 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 UpdateLayerRequest& WithVolumeConfigurations(const Aws::Vector& value) { SetVolumeConfigurations(value); return *this;} /** *

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

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

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

*/ inline UpdateLayerRequest& 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 UpdateLayerRequest& AddVolumeConfigurations(VolumeConfiguration&& value) { m_volumeConfigurationsHasBeenSet = true; m_volumeConfigurations.push_back(std::move(value)); return *this; } /** *

Whether to disable auto healing for the layer.

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

Whether to disable auto healing for the layer.

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

Whether to disable auto healing for the layer.

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

Whether to disable auto healing for the layer.

*/ inline UpdateLayerRequest& 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 UpdateLayerRequest& 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 UpdateLayerRequest& WithAutoAssignPublicIps(bool value) { SetAutoAssignPublicIps(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 UpdateLayerRequest& WithCustomRecipes(const Recipes& value) { SetCustomRecipes(value); return *this;} /** *

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

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

Whether to install operating system and package updates when the instance * boots. The default value is true. To control when updates are * installed, set this value 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. To control when updates are * installed, set this value 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. To control when updates are * installed, set this value 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. To control when updates are * installed, set this value 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 UpdateLayerRequest& WithInstallUpdatesOnBoot(bool value) { SetInstallUpdatesOnBoot(value); return *this;} /** *

Whether to use Amazon EBS-optimized instances.

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

Whether to use Amazon EBS-optimized instances.

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

Whether to use Amazon EBS-optimized instances.

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

Whether to use Amazon EBS-optimized instances.

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

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

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

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

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

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

*/ inline UpdateLayerRequest& WithLifecycleEventConfiguration(LifecycleEventConfiguration&& value) { SetLifecycleEventConfiguration(std::move(value)); return *this;} private: Aws::String m_layerId; bool m_layerIdHasBeenSet = 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_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_customRecipes; bool m_customRecipesHasBeenSet = 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