7#include <aws/opsworks/OpsWorks_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/opsworks/model/LayerType.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/opsworks/model/CloudWatchLogsConfiguration.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/opsworks/model/Recipes.h>
14#include <aws/opsworks/model/LifecycleEventConfiguration.h>
15#include <aws/opsworks/model/LayerAttributesKeys.h>
16#include <aws/opsworks/model/VolumeConfiguration.h>
42 AWS_OPSWORKS_API
Layer() =
default;
54 template<
typename ArnT = Aws::String>
55 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
56 template<
typename ArnT = Aws::String>
66 template<
typename StackIdT = Aws::String>
67 void SetStackId(StackIdT&& value) { m_stackIdHasBeenSet =
true; m_stackId = std::forward<StackIdT>(value); }
68 template<
typename StackIdT = Aws::String>
78 template<
typename LayerIdT = Aws::String>
79 void SetLayerId(LayerIdT&& value) { m_layerIdHasBeenSet =
true; m_layerId = std::forward<LayerIdT>(value); }
80 template<
typename LayerIdT = Aws::String>
100 template<
typename NameT = Aws::String>
101 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
102 template<
typename NameT = Aws::String>
112 template<
typename ShortnameT = Aws::String>
113 void SetShortname(ShortnameT&& value) { m_shortnameHasBeenSet =
true; m_shortname = std::forward<ShortnameT>(value); }
114 template<
typename ShortnameT = Aws::String>
128 template<
typename AttributesT = Aws::Map<LayerAttributesKeys, Aws::String>>
129 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet =
true; m_attributes = std::forward<AttributesT>(value); }
130 template<
typename AttributesT = Aws::Map<LayerAttributesKeys, Aws::String>>
133 m_attributesHasBeenSet =
true; m_attributes.emplace(key, value);
return *
this;
143 template<
typename CloudWatchLogsConfigurationT = CloudWatchLogsConfiguration>
144 void SetCloudWatchLogsConfiguration(CloudWatchLogsConfigurationT&& value) { m_cloudWatchLogsConfigurationHasBeenSet =
true; m_cloudWatchLogsConfiguration = std::forward<CloudWatchLogsConfigurationT>(value); }
145 template<
typename CloudWatchLogsConfigurationT = CloudWatchLogsConfiguration>
158 template<
typename CustomInstanceProfileArnT = Aws::String>
159 void SetCustomInstanceProfileArn(CustomInstanceProfileArnT&& value) { m_customInstanceProfileArnHasBeenSet =
true; m_customInstanceProfileArn = std::forward<CustomInstanceProfileArnT>(value); }
160 template<
typename CustomInstanceProfileArnT = Aws::String>
171 template<
typename CustomJsonT = Aws::String>
172 void SetCustomJson(CustomJsonT&& value) { m_customJsonHasBeenSet =
true; m_customJson = std::forward<CustomJsonT>(value); }
173 template<
typename CustomJsonT = Aws::String>
183 template<
typename CustomSecurityGroupIdsT = Aws::Vector<Aws::String>>
184 void SetCustomSecurityGroupIds(CustomSecurityGroupIdsT&& value) { m_customSecurityGroupIdsHasBeenSet =
true; m_customSecurityGroupIds = std::forward<CustomSecurityGroupIdsT>(value); }
185 template<
typename CustomSecurityGroupIdsT = Aws::Vector<Aws::String>>
187 template<
typename CustomSecurityGroupIdsT = Aws::String>
188 Layer&
AddCustomSecurityGroupIds(CustomSecurityGroupIdsT&& value) { m_customSecurityGroupIdsHasBeenSet =
true; m_customSecurityGroupIds.emplace_back(std::forward<CustomSecurityGroupIdsT>(value));
return *
this; }
197 template<
typename DefaultSecurityGroupNamesT = Aws::Vector<Aws::String>>
198 void SetDefaultSecurityGroupNames(DefaultSecurityGroupNamesT&& value) { m_defaultSecurityGroupNamesHasBeenSet =
true; m_defaultSecurityGroupNames = std::forward<DefaultSecurityGroupNamesT>(value); }
199 template<
typename DefaultSecurityGroupNamesT = Aws::Vector<Aws::String>>
201 template<
typename DefaultSecurityGroupNamesT = Aws::String>
202 Layer&
AddDefaultSecurityGroupNames(DefaultSecurityGroupNamesT&& value) { m_defaultSecurityGroupNamesHasBeenSet =
true; m_defaultSecurityGroupNames.emplace_back(std::forward<DefaultSecurityGroupNamesT>(value));
return *
this; }
212 template<
typename PackagesT = Aws::Vector<Aws::String>>
213 void SetPackages(PackagesT&& value) { m_packagesHasBeenSet =
true; m_packages = std::forward<PackagesT>(value); }
214 template<
typename PackagesT = Aws::Vector<Aws::String>>
216 template<
typename PackagesT = Aws::String>
217 Layer&
AddPackages(PackagesT&& value) { m_packagesHasBeenSet =
true; m_packages.emplace_back(std::forward<PackagesT>(value));
return *
this; }
227 template<
typename VolumeConfigurationsT = Aws::Vector<VolumeConfiguration>>
228 void SetVolumeConfigurations(VolumeConfigurationsT&& value) { m_volumeConfigurationsHasBeenSet =
true; m_volumeConfigurations = std::forward<VolumeConfigurationsT>(value); }
229 template<
typename VolumeConfigurationsT = Aws::Vector<VolumeConfiguration>>
231 template<
typename VolumeConfigurationsT = VolumeConfiguration>
232 Layer&
AddVolumeConfigurations(VolumeConfigurationsT&& value) { m_volumeConfigurationsHasBeenSet =
true; m_volumeConfigurations.emplace_back(std::forward<VolumeConfigurationsT>(value));
return *
this; }
241 inline void SetEnableAutoHealing(
bool value) { m_enableAutoHealingHasBeenSet =
true; m_enableAutoHealing = value; }
268 inline void SetAutoAssignPublicIps(
bool value) { m_autoAssignPublicIpsHasBeenSet =
true; m_autoAssignPublicIps = value; }
289 template<
typename DefaultRecipesT = Recipes>
290 void SetDefaultRecipes(DefaultRecipesT&& value) { m_defaultRecipesHasBeenSet =
true; m_defaultRecipes = std::forward<DefaultRecipesT>(value); }
291 template<
typename DefaultRecipesT = Recipes>
302 template<
typename CustomRecipesT = Recipes>
303 void SetCustomRecipes(CustomRecipesT&& value) { m_customRecipesHasBeenSet =
true; m_customRecipes = std::forward<CustomRecipesT>(value); }
304 template<
typename CustomRecipesT = Recipes>
314 template<
typename CreatedAtT = Aws::String>
315 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
316 template<
typename CreatedAtT = Aws::String>
354 template<
typename LifecycleEventConfigurationT = LifecycleEventConfiguration>
355 void SetLifecycleEventConfiguration(LifecycleEventConfigurationT&& value) { m_lifecycleEventConfigurationHasBeenSet =
true; m_lifecycleEventConfiguration = std::forward<LifecycleEventConfigurationT>(value); }
356 template<
typename LifecycleEventConfigurationT = LifecycleEventConfiguration>
362 bool m_arnHasBeenSet =
false;
365 bool m_stackIdHasBeenSet =
false;
368 bool m_layerIdHasBeenSet =
false;
371 bool m_typeHasBeenSet =
false;
374 bool m_nameHasBeenSet =
false;
377 bool m_shortnameHasBeenSet =
false;
380 bool m_attributesHasBeenSet =
false;
382 CloudWatchLogsConfiguration m_cloudWatchLogsConfiguration;
383 bool m_cloudWatchLogsConfigurationHasBeenSet =
false;
386 bool m_customInstanceProfileArnHasBeenSet =
false;
389 bool m_customJsonHasBeenSet =
false;
392 bool m_customSecurityGroupIdsHasBeenSet =
false;
395 bool m_defaultSecurityGroupNamesHasBeenSet =
false;
398 bool m_packagesHasBeenSet =
false;
401 bool m_volumeConfigurationsHasBeenSet =
false;
403 bool m_enableAutoHealing{
false};
404 bool m_enableAutoHealingHasBeenSet =
false;
406 bool m_autoAssignElasticIps{
false};
407 bool m_autoAssignElasticIpsHasBeenSet =
false;
409 bool m_autoAssignPublicIps{
false};
410 bool m_autoAssignPublicIpsHasBeenSet =
false;
412 Recipes m_defaultRecipes;
413 bool m_defaultRecipesHasBeenSet =
false;
415 Recipes m_customRecipes;
416 bool m_customRecipesHasBeenSet =
false;
419 bool m_createdAtHasBeenSet =
false;
421 bool m_installUpdatesOnBoot{
false};
422 bool m_installUpdatesOnBootHasBeenSet =
false;
424 bool m_useEbsOptimizedInstances{
false};
425 bool m_useEbsOptimizedInstancesHasBeenSet =
false;
427 LifecycleEventConfiguration m_lifecycleEventConfiguration;
428 bool m_lifecycleEventConfigurationHasBeenSet =
false;
const LifecycleEventConfiguration & GetLifecycleEventConfiguration() const
bool NameHasBeenSet() const
void SetEnableAutoHealing(bool value)
bool GetInstallUpdatesOnBoot() const
Layer & WithName(NameT &&value)
void SetLayerId(LayerIdT &&value)
const Aws::String & GetArn() const
Layer & WithCreatedAt(CreatedAtT &&value)
const Aws::Vector< Aws::String > & GetCustomSecurityGroupIds() const
const Aws::Map< LayerAttributesKeys, Aws::String > & GetAttributes() const
bool GetUseEbsOptimizedInstances() const
void SetCustomRecipes(CustomRecipesT &&value)
const Aws::Vector< Aws::String > & GetDefaultSecurityGroupNames() const
void SetCustomInstanceProfileArn(CustomInstanceProfileArnT &&value)
Layer & WithUseEbsOptimizedInstances(bool value)
const Aws::String & GetCustomJson() const
Layer & WithCustomInstanceProfileArn(CustomInstanceProfileArnT &&value)
void SetLifecycleEventConfiguration(LifecycleEventConfigurationT &&value)
bool PackagesHasBeenSet() const
bool AutoAssignElasticIpsHasBeenSet() const
Layer & WithShortname(ShortnameT &&value)
bool GetEnableAutoHealing() const
void SetArn(ArnT &&value)
void SetCreatedAt(CreatedAtT &&value)
bool DefaultSecurityGroupNamesHasBeenSet() const
bool EnableAutoHealingHasBeenSet() const
const Aws::String & GetName() const
Layer & WithPackages(PackagesT &&value)
const CloudWatchLogsConfiguration & GetCloudWatchLogsConfiguration() const
bool UseEbsOptimizedInstancesHasBeenSet() const
void SetAutoAssignElasticIps(bool value)
const Aws::Vector< VolumeConfiguration > & GetVolumeConfigurations() const
const Recipes & GetDefaultRecipes() const
void SetAutoAssignPublicIps(bool value)
Layer & AddPackages(PackagesT &&value)
bool ArnHasBeenSet() const
bool CloudWatchLogsConfigurationHasBeenSet() const
Layer & WithAutoAssignElasticIps(bool value)
bool GetAutoAssignPublicIps() const
Layer & AddDefaultSecurityGroupNames(DefaultSecurityGroupNamesT &&value)
const Aws::String & GetCreatedAt() const
void SetType(LayerType value)
bool LifecycleEventConfigurationHasBeenSet() const
bool TypeHasBeenSet() const
bool LayerIdHasBeenSet() const
Layer & WithCustomJson(CustomJsonT &&value)
Layer & WithDefaultRecipes(DefaultRecipesT &&value)
const Aws::String & GetStackId() const
const Aws::String & GetLayerId() const
Layer & WithCloudWatchLogsConfiguration(CloudWatchLogsConfigurationT &&value)
void SetCustomJson(CustomJsonT &&value)
bool CustomSecurityGroupIdsHasBeenSet() const
Layer & WithAttributes(AttributesT &&value)
Layer & AddVolumeConfigurations(VolumeConfigurationsT &&value)
void SetCloudWatchLogsConfiguration(CloudWatchLogsConfigurationT &&value)
void SetInstallUpdatesOnBoot(bool value)
Layer & WithLifecycleEventConfiguration(LifecycleEventConfigurationT &&value)
bool VolumeConfigurationsHasBeenSet() const
void SetDefaultRecipes(DefaultRecipesT &&value)
void SetUseEbsOptimizedInstances(bool value)
const Aws::Vector< Aws::String > & GetPackages() const
bool StackIdHasBeenSet() const
Layer & WithEnableAutoHealing(bool value)
Layer & WithInstallUpdatesOnBoot(bool value)
void SetDefaultSecurityGroupNames(DefaultSecurityGroupNamesT &&value)
Layer & WithDefaultSecurityGroupNames(DefaultSecurityGroupNamesT &&value)
bool ShortnameHasBeenSet() const
AWS_OPSWORKS_API Layer & operator=(Aws::Utils::Json::JsonView jsonValue)
Layer & WithStackId(StackIdT &&value)
bool CreatedAtHasBeenSet() const
bool DefaultRecipesHasBeenSet() const
bool GetAutoAssignElasticIps() const
Layer & WithVolumeConfigurations(VolumeConfigurationsT &&value)
void SetShortname(ShortnameT &&value)
void SetStackId(StackIdT &&value)
bool CustomInstanceProfileArnHasBeenSet() const
Layer & WithAutoAssignPublicIps(bool value)
Layer & WithType(LayerType value)
Layer & AddAttributes(LayerAttributesKeys key, Aws::String value)
const Recipes & GetCustomRecipes() const
bool InstallUpdatesOnBootHasBeenSet() const
LayerType GetType() const
bool CustomJsonHasBeenSet() const
AWS_OPSWORKS_API Layer()=default
bool AutoAssignPublicIpsHasBeenSet() const
const Aws::String & GetShortname() const
AWS_OPSWORKS_API Layer(Aws::Utils::Json::JsonView jsonValue)
Layer & WithCustomSecurityGroupIds(CustomSecurityGroupIdsT &&value)
void SetAttributes(AttributesT &&value)
const Aws::String & GetCustomInstanceProfileArn() const
void SetVolumeConfigurations(VolumeConfigurationsT &&value)
Layer & WithLayerId(LayerIdT &&value)
AWS_OPSWORKS_API Aws::Utils::Json::JsonValue Jsonize() const
Layer & AddCustomSecurityGroupIds(CustomSecurityGroupIdsT &&value)
void SetCustomSecurityGroupIds(CustomSecurityGroupIdsT &&value)
Layer & WithArn(ArnT &&value)
bool AttributesHasBeenSet() const
void SetName(NameT &&value)
void SetPackages(PackagesT &&value)
bool CustomRecipesHasBeenSet() const
Layer & WithCustomRecipes(CustomRecipesT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue