7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/imagebuilder/model/Logging.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/imagebuilder/model/InstanceMetadataOptions.h>
13#include <aws/imagebuilder/model/Placement.h>
51 template<
typename ArnT = Aws::String>
52 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
53 template<
typename ArnT = Aws::String>
63 template<
typename NameT = Aws::String>
64 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
65 template<
typename NameT = Aws::String>
75 template<
typename DescriptionT = Aws::String>
76 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
77 template<
typename DescriptionT = Aws::String>
87 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
88 void SetInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet =
true; m_instanceTypes = std::forward<InstanceTypesT>(value); }
89 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
91 template<
typename InstanceTypesT = Aws::String>
101 template<
typename InstanceProfileNameT = Aws::String>
102 void SetInstanceProfileName(InstanceProfileNameT&& value) { m_instanceProfileNameHasBeenSet =
true; m_instanceProfileName = std::forward<InstanceProfileNameT>(value); }
103 template<
typename InstanceProfileNameT = Aws::String>
113 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
114 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
115 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
117 template<
typename SecurityGroupIdsT = Aws::String>
127 template<
typename SubnetIdT = Aws::String>
128 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet =
true; m_subnetId = std::forward<SubnetIdT>(value); }
129 template<
typename SubnetIdT = Aws::String>
139 template<
typename LoggingT = Logging>
140 void SetLogging(LoggingT&& value) { m_loggingHasBeenSet =
true; m_logging = std::forward<LoggingT>(value); }
141 template<
typename LoggingT = Logging>
151 template<
typename KeyPairT = Aws::String>
152 void SetKeyPair(KeyPairT&& value) { m_keyPairHasBeenSet =
true; m_keyPair = std::forward<KeyPairT>(value); }
153 template<
typename KeyPairT = Aws::String>
178 template<
typename SnsTopicArnT = Aws::String>
179 void SetSnsTopicArn(SnsTopicArnT&& value) { m_snsTopicArnHasBeenSet =
true; m_snsTopicArn = std::forward<SnsTopicArnT>(value); }
180 template<
typename SnsTopicArnT = Aws::String>
190 template<
typename DateCreatedT = Aws::String>
191 void SetDateCreated(DateCreatedT&& value) { m_dateCreatedHasBeenSet =
true; m_dateCreated = std::forward<DateCreatedT>(value); }
192 template<
typename DateCreatedT = Aws::String>
202 template<
typename DateUpdatedT = Aws::String>
203 void SetDateUpdated(DateUpdatedT&& value) { m_dateUpdatedHasBeenSet =
true; m_dateUpdated = std::forward<DateUpdatedT>(value); }
204 template<
typename DateUpdatedT = Aws::String>
214 template<
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
215 void SetResourceTags(ResourceTagsT&& value) { m_resourceTagsHasBeenSet =
true; m_resourceTags = std::forward<ResourceTagsT>(value); }
216 template<
typename ResourceTagsT = Aws::Map<Aws::String, Aws::String>>
218 template<
typename ResourceTagsKeyT = Aws::String,
typename ResourceTagsValueT = Aws::String>
220 m_resourceTagsHasBeenSet =
true; m_resourceTags.emplace(std::forward<ResourceTagsKeyT>(key), std::forward<ResourceTagsValueT>(value));
return *
this;
231 template<
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
232 void SetInstanceMetadataOptions(InstanceMetadataOptionsT&& value) { m_instanceMetadataOptionsHasBeenSet =
true; m_instanceMetadataOptions = std::forward<InstanceMetadataOptionsT>(value); }
233 template<
typename InstanceMetadataOptionsT = InstanceMetadataOptions>
243 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
244 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
245 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
247 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
249 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
260 template<
typename PlacementT = Placement>
261 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet =
true; m_placement = std::forward<PlacementT>(value); }
262 template<
typename PlacementT = Placement>
268 bool m_arnHasBeenSet =
false;
271 bool m_nameHasBeenSet =
false;
274 bool m_descriptionHasBeenSet =
false;
277 bool m_instanceTypesHasBeenSet =
false;
280 bool m_instanceProfileNameHasBeenSet =
false;
283 bool m_securityGroupIdsHasBeenSet =
false;
286 bool m_subnetIdHasBeenSet =
false;
289 bool m_loggingHasBeenSet =
false;
292 bool m_keyPairHasBeenSet =
false;
294 bool m_terminateInstanceOnFailure{
false};
295 bool m_terminateInstanceOnFailureHasBeenSet =
false;
298 bool m_snsTopicArnHasBeenSet =
false;
301 bool m_dateCreatedHasBeenSet =
false;
304 bool m_dateUpdatedHasBeenSet =
false;
307 bool m_resourceTagsHasBeenSet =
false;
309 InstanceMetadataOptions m_instanceMetadataOptions;
310 bool m_instanceMetadataOptionsHasBeenSet =
false;
313 bool m_tagsHasBeenSet =
false;
315 Placement m_placement;
316 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