7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/imagebuilder/ImagebuilderRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/imagebuilder/model/Logging.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/imagebuilder/model/InstanceMetadataOptions.h>
14#include <aws/imagebuilder/model/Placement.h>
16#include <aws/core/utils/UUID.h>
36 inline virtual const char*
GetServiceRequestName()
const override {
return "UpdateInfrastructureConfiguration"; }
48 template<
typename InfrastructureConfigurationArnT = Aws::String>
49 void SetInfrastructureConfigurationArn(InfrastructureConfigurationArnT&& value) { m_infrastructureConfigurationArnHasBeenSet =
true; m_infrastructureConfigurationArn = std::forward<InfrastructureConfigurationArnT>(value); }
50 template<
typename InfrastructureConfigurationArnT = Aws::String>
60 template<
typename DescriptionT = Aws::String>
61 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
62 template<
typename DescriptionT = Aws::String>
74 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
75 void SetInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet =
true; m_instanceTypes = std::forward<InstanceTypesT>(value); }
76 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
78 template<
typename InstanceTypesT = Aws::String>
89 template<
typename InstanceProfileNameT = Aws::String>
90 void SetInstanceProfileName(InstanceProfileNameT&& value) { m_instanceProfileNameHasBeenSet =
true; m_instanceProfileName = std::forward<InstanceProfileNameT>(value); }
91 template<
typename InstanceProfileNameT = Aws::String>
102 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
103 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
104 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
106 template<
typename SecurityGroupIdsT = Aws::String>
117 template<
typename SubnetIdT = Aws::String>
118 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet =
true; m_subnetId = std::forward<SubnetIdT>(value); }
119 template<
typename SubnetIdT = Aws::String>
129 template<
typename LoggingT = Logging>
130 void SetLogging(LoggingT&& value) { m_loggingHasBeenSet =
true; m_logging = std::forward<LoggingT>(value); }
131 template<
typename LoggingT = Logging>
142 template<
typename KeyPairT = Aws::String>
143 void SetKeyPair(KeyPairT&& value) { m_keyPairHasBeenSet =
true; m_keyPair = std::forward<KeyPairT>(value); }
144 template<
typename KeyPairT = Aws::String>
171 template<
typename SnsTopicArnT = Aws::String>
172 void SetSnsTopicArn(SnsTopicArnT&& value) { m_snsTopicArnHasBeenSet =
true; m_snsTopicArn = std::forward<SnsTopicArnT>(value); }
173 template<
typename SnsTopicArnT = Aws::String>
183 template<
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
184 void SetResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet =
true; m_resourceTags = std::forward<ResourceTagsT>(value); }
185 template<
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
187 template<
typename ResourceTagsKeyT = Aws::String,
typename ResourceTagsValueT = Aws::String>
189 m_resourceTagsHasBeenSet =
true; m_resourceTags.emplace(std::forward<ResourceTagsKeyT>(key), std::forward<ResourceTagsValueT>(value));
return *
this;
208 template<
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
209 void SetInstanceMetadataOptions(InstanceMetadataOptionsT&& value) { m_instanceMetadataOptionsHasBeenSet =
true; m_instanceMetadataOptions = std::forward<InstanceMetadataOptionsT>(value); }
210 template<
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
221 template<
typename PlacementT = Placement>
222 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet =
true; m_placement = std::forward<PlacementT>(value); }
223 template<
typename PlacementT = Placement>
236 template<
typename ClientTokenT = Aws::String>
237 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
238 template<
typename ClientTokenT = Aws::String>
244 bool m_infrastructureConfigurationArnHasBeenSet =
false;
247 bool m_descriptionHasBeenSet =
false;
250 bool m_instanceTypesHasBeenSet =
false;
253 bool m_instanceProfileNameHasBeenSet =
false;
256 bool m_securityGroupIdsHasBeenSet =
false;
259 bool m_subnetIdHasBeenSet =
false;
262 bool m_loggingHasBeenSet =
false;
265 bool m_keyPairHasBeenSet =
false;
267 bool m_terminateInstanceOnFailure{
false};
268 bool m_terminateInstanceOnFailureHasBeenSet =
false;
271 bool m_snsTopicArnHasBeenSet =
false;
274 bool m_resourceTagsHasBeenSet =
false;
276 InstanceMetadataOptions m_instanceMetadataOptions;
277 bool m_instanceMetadataOptionsHasBeenSet =
false;
279 Placement m_placement;
280 bool m_placementHasBeenSet =
false;
283 bool m_clientTokenHasBeenSet =
true;
static Aws::Utils::UUID PseudoRandomUUID()
UpdateInfrastructureConfigurationRequest & WithInstanceMetadataOptions(InstanceMetadataOptionsT &&value)
bool InstanceProfileNameHasBeenSet() const
bool InstanceTypesHasBeenSet() const
const Aws::String & GetClientToken() const
UpdateInfrastructureConfigurationRequest & WithPlacement(PlacementT &&value)
bool PlacementHasBeenSet() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
bool SubnetIdHasBeenSet() const
bool GetTerminateInstanceOnFailure() const
UpdateInfrastructureConfigurationRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetResourceTags(ResourceTagsT &&value)
UpdateInfrastructureConfigurationRequest & WithDescription(DescriptionT &&value)
bool LoggingHasBeenSet() const
UpdateInfrastructureConfigurationRequest & WithSnsTopicArn(SnsTopicArnT &&value)
const InstanceMetadataOptions & GetInstanceMetadataOptions() const
bool KeyPairHasBeenSet() const
const Aws::String & GetDescription() const
bool SnsTopicArnHasBeenSet() const
UpdateInfrastructureConfigurationRequest & WithInstanceTypes(InstanceTypesT &&value)
void SetKeyPair(KeyPairT &&value)
bool InstanceMetadataOptionsHasBeenSet() const
bool InfrastructureConfigurationArnHasBeenSet() const
void SetPlacement(PlacementT &&value)
UpdateInfrastructureConfigurationRequest & WithResourceTags(ResourceTagsT &&value)
UpdateInfrastructureConfigurationRequest & WithClientToken(ClientTokenT &&value)
UpdateInfrastructureConfigurationRequest & WithLogging(LoggingT &&value)
const Aws::Map< Aws::String, Aws::String > & GetResourceTags() const
void SetSubnetId(SubnetIdT &&value)
void SetClientToken(ClientTokenT &&value)
void SetSnsTopicArn(SnsTopicArnT &&value)
UpdateInfrastructureConfigurationRequest & WithInfrastructureConfigurationArn(InfrastructureConfigurationArnT &&value)
UpdateInfrastructureConfigurationRequest & WithInstanceProfileName(InstanceProfileNameT &&value)
UpdateInfrastructureConfigurationRequest & AddResourceTags(ResourceTagsKeyT &&key, ResourceTagsValueT &&value)
const Aws::Vector< Aws::String > & GetInstanceTypes() const
UpdateInfrastructureConfigurationRequest & WithKeyPair(KeyPairT &&value)
AWS_IMAGEBUILDER_API UpdateInfrastructureConfigurationRequest()=default
bool TerminateInstanceOnFailureHasBeenSet() const
const Logging & GetLogging() const
UpdateInfrastructureConfigurationRequest & WithSubnetId(SubnetIdT &&value)
const Aws::String & GetSubnetId() const
void SetInstanceTypes(InstanceTypesT &&value)
AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override
void SetInstanceProfileName(InstanceProfileNameT &&value)
bool ResourceTagsHasBeenSet() const
void SetInfrastructureConfigurationArn(InfrastructureConfigurationArnT &&value)
UpdateInfrastructureConfigurationRequest & AddInstanceTypes(InstanceTypesT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::String & GetInstanceProfileName() const
virtual const char * GetServiceRequestName() const override
bool ClientTokenHasBeenSet() const
bool DescriptionHasBeenSet() const
const Aws::String & GetKeyPair() const
void SetInstanceMetadataOptions(InstanceMetadataOptionsT &&value)
void SetTerminateInstanceOnFailure(bool value)
UpdateInfrastructureConfigurationRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
bool SecurityGroupIdsHasBeenSet() const
UpdateInfrastructureConfigurationRequest & WithTerminateInstanceOnFailure(bool value)
const Aws::String & GetInfrastructureConfigurationArn() const
const Aws::String & GetSnsTopicArn() const
void SetDescription(DescriptionT &&value)
const Placement & GetPlacement() const
void SetLogging(LoggingT &&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