7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
11#include <aws/imagebuilder/model/InstanceMetadataOptions.h>
12#include <aws/imagebuilder/model/Logging.h>
13#include <aws/imagebuilder/model/Placement.h>
24namespace imagebuilder {
45 template <
typename ArnT = Aws::String>
47 m_arnHasBeenSet =
true;
48 m_arn = std::forward<ArnT>(value);
50 template <
typename ArnT = Aws::String>
52 SetArn(std::forward<ArnT>(value));
63 template <
typename NameT = Aws::String>
65 m_nameHasBeenSet =
true;
66 m_name = std::forward<NameT>(value);
68 template <
typename NameT = Aws::String>
70 SetName(std::forward<NameT>(value));
81 template <
typename DescriptionT = Aws::String>
83 m_descriptionHasBeenSet =
true;
84 m_description = std::forward<DescriptionT>(value);
86 template <
typename DescriptionT = Aws::String>
99 template <
typename InstanceTypesT = Aws::Vector<Aws::String>>
101 m_instanceTypesHasBeenSet =
true;
102 m_instanceTypes = std::forward<InstanceTypesT>(value);
104 template <
typename InstanceTypesT = Aws::Vector<Aws::String>>
109 template <
typename InstanceTypesT = Aws::String>
111 m_instanceTypesHasBeenSet =
true;
112 m_instanceTypes.emplace_back(std::forward<InstanceTypesT>(value));
123 template <
typename InstanceProfileNameT = Aws::String>
125 m_instanceProfileNameHasBeenSet =
true;
126 m_instanceProfileName = std::forward<InstanceProfileNameT>(value);
128 template <
typename InstanceProfileNameT = Aws::String>
141 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
143 m_securityGroupIdsHasBeenSet =
true;
144 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
146 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
151 template <
typename SecurityGroupIdsT = Aws::String>
153 m_securityGroupIdsHasBeenSet =
true;
154 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
165 template <
typename SubnetIdT = Aws::String>
167 m_subnetIdHasBeenSet =
true;
168 m_subnetId = std::forward<SubnetIdT>(value);
170 template <
typename SubnetIdT = Aws::String>
185 template <
typename LoggingT = Logging>
187 m_loggingHasBeenSet =
true;
188 m_logging = std::forward<LoggingT>(value);
190 template <
typename LoggingT = Logging>
203 template <
typename KeyPairT = Aws::String>
205 m_keyPairHasBeenSet =
true;
206 m_keyPair = std::forward<KeyPairT>(value);
208 template <
typename KeyPairT = Aws::String>
224 m_terminateInstanceOnFailureHasBeenSet =
true;
225 m_terminateInstanceOnFailure = value;
244 template <
typename SnsTopicArnT = Aws::String>
246 m_snsTopicArnHasBeenSet =
true;
247 m_snsTopicArn = std::forward<SnsTopicArnT>(value);
249 template <
typename SnsTopicArnT = Aws::String>
262 template <
typename DateCreatedT = Aws::String>
264 m_dateCreatedHasBeenSet =
true;
265 m_dateCreated = std::forward<DateCreatedT>(value);
267 template <
typename DateCreatedT = Aws::String>
280 template <
typename DateUpdatedT = Aws::String>
282 m_dateUpdatedHasBeenSet =
true;
283 m_dateUpdated = std::forward<DateUpdatedT>(value);
285 template <
typename DateUpdatedT = Aws::String>
299 template <
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
301 m_resourceTagsHasBeenSet =
true;
302 m_resourceTags = std::forward<ResourceTagsT>(value);
304 template <
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
309 template <
typename ResourceTagsKeyT = Aws::String,
typename ResourceTagsValueT = Aws::String>
311 m_resourceTagsHasBeenSet =
true;
312 m_resourceTags.emplace(std::forward<ResourceTagsKeyT>(key), std::forward<ResourceTagsValueT>(value));
324 template <
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
326 m_instanceMetadataOptionsHasBeenSet =
true;
327 m_instanceMetadataOptions = std::forward<InstanceMetadataOptionsT>(value);
329 template <
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
342 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
344 m_tagsHasBeenSet =
true;
345 m_tags = std::forward<TagsT>(value);
347 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
349 SetTags(std::forward<TagsT>(value));
352 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
354 m_tagsHasBeenSet =
true;
355 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
368 template <
typename PlacementT = Placement>
370 m_placementHasBeenSet =
true;
371 m_placement = std::forward<PlacementT>(value);
373 template <
typename PlacementT = Placement>
398 bool m_terminateInstanceOnFailure{
false};
408 InstanceMetadataOptions m_instanceMetadataOptions;
412 Placement m_placement;
413 bool m_arnHasBeenSet =
false;
414 bool m_nameHasBeenSet =
false;
415 bool m_descriptionHasBeenSet =
false;
416 bool m_instanceTypesHasBeenSet =
false;
417 bool m_instanceProfileNameHasBeenSet =
false;
418 bool m_securityGroupIdsHasBeenSet =
false;
419 bool m_subnetIdHasBeenSet =
false;
420 bool m_loggingHasBeenSet =
false;
421 bool m_keyPairHasBeenSet =
false;
422 bool m_terminateInstanceOnFailureHasBeenSet =
false;
423 bool m_snsTopicArnHasBeenSet =
false;
424 bool m_dateCreatedHasBeenSet =
false;
425 bool m_dateUpdatedHasBeenSet =
false;
426 bool m_resourceTagsHasBeenSet =
false;
427 bool m_instanceMetadataOptionsHasBeenSet =
false;
428 bool m_tagsHasBeenSet =
false;
429 bool m_placementHasBeenSet =
false;
void SetSnsTopicArn(SnsTopicArnT &&value)
void SetDateUpdated(DateUpdatedT &&value)
bool NameHasBeenSet() const
bool InstanceMetadataOptionsHasBeenSet() const
InfrastructureConfiguration & WithResourceTags(ResourceTagsT &&value)
const Aws::String & GetName() const
void SetInstanceProfileName(InstanceProfileNameT &&value)
const Aws::String & GetInstanceProfileName() const
InfrastructureConfiguration & WithDateCreated(DateCreatedT &&value)
InfrastructureConfiguration & WithSnsTopicArn(SnsTopicArnT &&value)
InfrastructureConfiguration & WithSubnetId(SubnetIdT &&value)
bool DescriptionHasBeenSet() const
InfrastructureConfiguration & WithTerminateInstanceOnFailure(bool value)
void SetTags(TagsT &&value)
const InstanceMetadataOptions & GetInstanceMetadataOptions() const
void SetDescription(DescriptionT &&value)
bool SnsTopicArnHasBeenSet() const
AWS_IMAGEBUILDER_API InfrastructureConfiguration()=default
const Aws::String & GetArn() const
void SetName(NameT &&value)
void SetArn(ArnT &&value)
const Logging & GetLogging() const
bool DateCreatedHasBeenSet() const
bool InstanceProfileNameHasBeenSet() const
InfrastructureConfiguration & AddInstanceTypes(InstanceTypesT &&value)
InfrastructureConfiguration & WithKeyPair(KeyPairT &&value)
bool TerminateInstanceOnFailureHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetResourceTags() const
void SetResourceTags(ResourceTagsT &&value)
bool DateUpdatedHasBeenSet() const
const Placement & GetPlacement() const
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
InfrastructureConfiguration & WithLogging(LoggingT &&value)
InfrastructureConfiguration & WithArn(ArnT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const Aws::String & GetSnsTopicArn() const
void SetInstanceTypes(InstanceTypesT &&value)
InfrastructureConfiguration & WithInstanceProfileName(InstanceProfileNameT &&value)
InfrastructureConfiguration & WithInstanceTypes(InstanceTypesT &&value)
InfrastructureConfiguration & WithTags(TagsT &&value)
void SetTerminateInstanceOnFailure(bool value)
bool TagsHasBeenSet() const
InfrastructureConfiguration & AddTags(TagsKeyT &&key, TagsValueT &&value)
const Aws::String & GetKeyPair() const
void SetLogging(LoggingT &&value)
AWS_IMAGEBUILDER_API InfrastructureConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
InfrastructureConfiguration & WithDescription(DescriptionT &&value)
bool LoggingHasBeenSet() const
const Aws::String & GetDescription() const
bool ResourceTagsHasBeenSet() const
void SetDateCreated(DateCreatedT &&value)
void SetInstanceMetadataOptions(InstanceMetadataOptionsT &&value)
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
bool ArnHasBeenSet() const
bool PlacementHasBeenSet() const
void SetSubnetId(SubnetIdT &&value)
bool SecurityGroupIdsHasBeenSet() const
bool KeyPairHasBeenSet() const
InfrastructureConfiguration & AddSecurityGroupIds(SecurityGroupIdsT &&value)
InfrastructureConfiguration & WithSecurityGroupIds(SecurityGroupIdsT &&value)
InfrastructureConfiguration & WithName(NameT &&value)
const Aws::String & GetDateUpdated() const
InfrastructureConfiguration & WithPlacement(PlacementT &&value)
bool GetTerminateInstanceOnFailure() const
const Aws::String & GetDateCreated() const
const Aws::Vector< Aws::String > & GetInstanceTypes() const
InfrastructureConfiguration & AddResourceTags(ResourceTagsKeyT &&key, ResourceTagsValueT &&value)
void SetKeyPair(KeyPairT &&value)
bool SubnetIdHasBeenSet() const
AWS_IMAGEBUILDER_API InfrastructureConfiguration(Aws::Utils::Json::JsonView jsonValue)
InfrastructureConfiguration & WithDateUpdated(DateUpdatedT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
bool InstanceTypesHasBeenSet() const
void SetPlacement(PlacementT &&value)
InfrastructureConfiguration & WithInstanceMetadataOptions(InstanceMetadataOptionsT &&value)
const Aws::String & GetSubnetId() const
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