7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/imagebuilder/ImagebuilderRequest.h>
12#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
13#include <aws/imagebuilder/model/InstanceMetadataOptions.h>
14#include <aws/imagebuilder/model/Logging.h>
15#include <aws/imagebuilder/model/Placement.h>
20namespace imagebuilder {
33 inline virtual const char*
GetServiceRequestName()
const override {
return "CreateInfrastructureConfiguration"; }
47 template <
typename NameT = Aws::String>
49 m_nameHasBeenSet =
true;
50 m_name = std::forward<NameT>(value);
52 template <
typename NameT = Aws::String>
54 SetName(std::forward<NameT>(value));
65 template <
typename DescriptionT = Aws::String>
67 m_descriptionHasBeenSet =
true;
68 m_description = std::forward<DescriptionT>(value);
70 template <
typename DescriptionT = Aws::String>
88 template <
typename InstanceTypesT = Aws::Vector<Aws::String>>
90 m_instanceTypesHasBeenSet =
true;
91 m_instanceTypes = std::forward<InstanceTypesT>(value);
93 template <
typename InstanceTypesT = Aws::Vector<Aws::String>>
98 template <
typename InstanceTypesT = Aws::String>
100 m_instanceTypesHasBeenSet =
true;
101 m_instanceTypes.emplace_back(std::forward<InstanceTypesT>(value));
113 template <
typename InstanceProfileNameT = Aws::String>
115 m_instanceProfileNameHasBeenSet =
true;
116 m_instanceProfileName = std::forward<InstanceProfileNameT>(value);
118 template <
typename InstanceProfileNameT = Aws::String>
132 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
134 m_securityGroupIdsHasBeenSet =
true;
135 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
137 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
142 template <
typename SecurityGroupIdsT = Aws::String>
144 m_securityGroupIdsHasBeenSet =
true;
145 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
159 template <
typename SubnetIdT = Aws::String>
161 m_subnetIdHasBeenSet =
true;
162 m_subnetId = std::forward<SubnetIdT>(value);
164 template <
typename SubnetIdT = Aws::String>
179 template <
typename LoggingT = Logging>
181 m_loggingHasBeenSet =
true;
182 m_logging = std::forward<LoggingT>(value);
184 template <
typename LoggingT = Logging>
198 template <
typename KeyPairT = Aws::String>
200 m_keyPairHasBeenSet =
true;
201 m_keyPair = std::forward<KeyPairT>(value);
203 template <
typename KeyPairT = Aws::String>
219 m_terminateInstanceOnFailureHasBeenSet =
true;
220 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>
262 template <
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
264 m_resourceTagsHasBeenSet =
true;
265 m_resourceTags = std::forward<ResourceTagsT>(value);
267 template <
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
272 template <
typename ResourceTagsKeyT = Aws::String,
typename ResourceTagsValueT = Aws::String>
274 m_resourceTagsHasBeenSet =
true;
275 m_resourceTags.emplace(std::forward<ResourceTagsKeyT>(key), std::forward<ResourceTagsValueT>(value));
296 template <
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
298 m_instanceMetadataOptionsHasBeenSet =
true;
299 m_instanceMetadataOptions = std::forward<InstanceMetadataOptionsT>(value);
301 template <
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
315 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
317 m_tagsHasBeenSet =
true;
318 m_tags = std::forward<TagsT>(value);
320 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
322 SetTags(std::forward<TagsT>(value));
325 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
327 m_tagsHasBeenSet =
true;
328 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
341 template <
typename PlacementT = Placement>
343 m_placementHasBeenSet =
true;
344 m_placement = std::forward<PlacementT>(value);
346 template <
typename PlacementT = Placement>
364 template <
typename ClientTokenT = Aws::String>
366 m_clientTokenHasBeenSet =
true;
367 m_clientToken = std::forward<ClientTokenT>(value);
369 template <
typename ClientTokenT = Aws::String>
385 m_dryRunHasBeenSet =
true;
410 bool m_terminateInstanceOnFailure{
false};
416 InstanceMetadataOptions m_instanceMetadataOptions;
420 Placement m_placement;
424 bool m_dryRun{
false};
425 bool m_nameHasBeenSet =
false;
426 bool m_descriptionHasBeenSet =
false;
427 bool m_instanceTypesHasBeenSet =
false;
428 bool m_instanceProfileNameHasBeenSet =
false;
429 bool m_securityGroupIdsHasBeenSet =
false;
430 bool m_subnetIdHasBeenSet =
false;
431 bool m_loggingHasBeenSet =
false;
432 bool m_keyPairHasBeenSet =
false;
433 bool m_terminateInstanceOnFailureHasBeenSet =
false;
434 bool m_snsTopicArnHasBeenSet =
false;
435 bool m_resourceTagsHasBeenSet =
false;
436 bool m_instanceMetadataOptionsHasBeenSet =
false;
437 bool m_tagsHasBeenSet =
false;
438 bool m_placementHasBeenSet =
false;
439 bool m_clientTokenHasBeenSet =
true;
440 bool m_dryRunHasBeenSet =
false;
static Aws::Utils::UUID PseudoRandomUUID()
CreateInfrastructureConfigurationRequest & WithClientToken(ClientTokenT &&value)
const Aws::String & GetClientToken() const
void SetName(NameT &&value)
void SetInstanceTypes(InstanceTypesT &&value)
void SetTags(TagsT &&value)
bool InstanceMetadataOptionsHasBeenSet() const
bool GetTerminateInstanceOnFailure() const
CreateInfrastructureConfigurationRequest & WithTerminateInstanceOnFailure(bool value)
CreateInfrastructureConfigurationRequest & WithKeyPair(KeyPairT &&value)
bool SecurityGroupIdsHasBeenSet() const
CreateInfrastructureConfigurationRequest & AddInstanceTypes(InstanceTypesT &&value)
bool DescriptionHasBeenSet() const
bool SubnetIdHasBeenSet() const
CreateInfrastructureConfigurationRequest & WithSubnetId(SubnetIdT &&value)
bool InstanceProfileNameHasBeenSet() const
bool ResourceTagsHasBeenSet() const
bool KeyPairHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateInfrastructureConfigurationRequest & AddResourceTags(ResourceTagsKeyT &&key, ResourceTagsValueT &&value)
AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override
CreateInfrastructureConfigurationRequest & WithDescription(DescriptionT &&value)
bool TagsHasBeenSet() const
CreateInfrastructureConfigurationRequest & WithPlacement(PlacementT &&value)
const Aws::Vector< Aws::String > & GetInstanceTypes() const
void SetKeyPair(KeyPairT &&value)
void SetClientToken(ClientTokenT &&value)
void SetSnsTopicArn(SnsTopicArnT &&value)
CreateInfrastructureConfigurationRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
bool NameHasBeenSet() const
void SetPlacement(PlacementT &&value)
CreateInfrastructureConfigurationRequest & WithInstanceMetadataOptions(InstanceMetadataOptionsT &&value)
void SetDryRun(bool value)
bool LoggingHasBeenSet() const
void SetTerminateInstanceOnFailure(bool value)
bool TerminateInstanceOnFailureHasBeenSet() const
CreateInfrastructureConfigurationRequest & WithResourceTags(ResourceTagsT &&value)
const Logging & GetLogging() const
const Aws::String & GetDescription() const
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
bool ClientTokenHasBeenSet() const
const Aws::String & GetSubnetId() const
virtual const char * GetServiceRequestName() const override
bool InstanceTypesHasBeenSet() const
bool PlacementHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetResourceTags() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
CreateInfrastructureConfigurationRequest & WithLogging(LoggingT &&value)
void SetInstanceProfileName(InstanceProfileNameT &&value)
const Aws::String & GetInstanceProfileName() const
CreateInfrastructureConfigurationRequest & WithInstanceTypes(InstanceTypesT &&value)
CreateInfrastructureConfigurationRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
void SetInstanceMetadataOptions(InstanceMetadataOptionsT &&value)
const Aws::String & GetKeyPair() const
const Placement & GetPlacement() const
AWS_IMAGEBUILDER_API CreateInfrastructureConfigurationRequest()=default
const Aws::String & GetSnsTopicArn() const
const InstanceMetadataOptions & GetInstanceMetadataOptions() const
void SetResourceTags(ResourceTagsT &&value)
CreateInfrastructureConfigurationRequest & WithDryRun(bool value)
CreateInfrastructureConfigurationRequest & WithName(NameT &&value)
bool DryRunHasBeenSet() const
void SetLogging(LoggingT &&value)
void SetDescription(DescriptionT &&value)
void SetSubnetId(SubnetIdT &&value)
CreateInfrastructureConfigurationRequest & WithSnsTopicArn(SnsTopicArnT &&value)
CreateInfrastructureConfigurationRequest & WithTags(TagsT &&value)
bool SnsTopicArnHasBeenSet() const
CreateInfrastructureConfigurationRequest & WithInstanceProfileName(InstanceProfileNameT &&value)
CreateInfrastructureConfigurationRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::String & GetName() 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