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>
183 template <
typename LoggingT = Logging>
185 m_loggingHasBeenSet =
true;
186 m_logging = std::forward<LoggingT>(value);
188 template <
typename LoggingT = Logging>
201 template <
typename KeyPairT = Aws::String>
203 m_keyPairHasBeenSet =
true;
204 m_keyPair = std::forward<KeyPairT>(value);
206 template <
typename KeyPairT = Aws::String>
221 m_terminateInstanceOnFailureHasBeenSet =
true;
222 m_terminateInstanceOnFailure = value;
240 template <
typename SnsTopicArnT = Aws::String>
242 m_snsTopicArnHasBeenSet =
true;
243 m_snsTopicArn = std::forward<SnsTopicArnT>(value);
245 template <
typename SnsTopicArnT = Aws::String>
258 template <
typename DateCreatedT = Aws::String>
260 m_dateCreatedHasBeenSet =
true;
261 m_dateCreated = std::forward<DateCreatedT>(value);
263 template <
typename DateCreatedT = Aws::String>
276 template <
typename DateUpdatedT = Aws::String>
278 m_dateUpdatedHasBeenSet =
true;
279 m_dateUpdated = std::forward<DateUpdatedT>(value);
281 template <
typename DateUpdatedT = Aws::String>
294 template <
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
296 m_resourceTagsHasBeenSet =
true;
297 m_resourceTags = std::forward<ResourceTagsT>(value);
299 template <
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
304 template <
typename ResourceTagsKeyT = Aws::String,
typename ResourceTagsValueT = Aws::String>
306 m_resourceTagsHasBeenSet =
true;
307 m_resourceTags.emplace(std::forward<ResourceTagsKeyT>(key), std::forward<ResourceTagsValueT>(value));
319 template <
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
321 m_instanceMetadataOptionsHasBeenSet =
true;
322 m_instanceMetadataOptions = std::forward<InstanceMetadataOptionsT>(value);
324 template <
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
337 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
339 m_tagsHasBeenSet =
true;
340 m_tags = std::forward<TagsT>(value);
342 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
344 SetTags(std::forward<TagsT>(value));
347 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
349 m_tagsHasBeenSet =
true;
350 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
362 template <
typename PlacementT = Placement>
364 m_placementHasBeenSet =
true;
365 m_placement = std::forward<PlacementT>(value);
367 template <
typename PlacementT = Placement>
392 bool m_terminateInstanceOnFailure{
false};
402 InstanceMetadataOptions m_instanceMetadataOptions;
406 Placement m_placement;
407 bool m_arnHasBeenSet =
false;
408 bool m_nameHasBeenSet =
false;
409 bool m_descriptionHasBeenSet =
false;
410 bool m_instanceTypesHasBeenSet =
false;
411 bool m_instanceProfileNameHasBeenSet =
false;
412 bool m_securityGroupIdsHasBeenSet =
false;
413 bool m_subnetIdHasBeenSet =
false;
414 bool m_loggingHasBeenSet =
false;
415 bool m_keyPairHasBeenSet =
false;
416 bool m_terminateInstanceOnFailureHasBeenSet =
false;
417 bool m_snsTopicArnHasBeenSet =
false;
418 bool m_dateCreatedHasBeenSet =
false;
419 bool m_dateUpdatedHasBeenSet =
false;
420 bool m_resourceTagsHasBeenSet =
false;
421 bool m_instanceMetadataOptionsHasBeenSet =
false;
422 bool m_tagsHasBeenSet =
false;
423 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