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/AdditionalInstanceConfiguration.h>
14#include <aws/imagebuilder/model/ComponentConfiguration.h>
15#include <aws/imagebuilder/model/InstanceBlockDeviceMapping.h>
20namespace imagebuilder {
43 template <
typename NameT = Aws::String>
45 m_nameHasBeenSet =
true;
46 m_name = std::forward<NameT>(value);
48 template <
typename NameT = Aws::String>
50 SetName(std::forward<NameT>(value));
61 template <
typename DescriptionT = Aws::String>
63 m_descriptionHasBeenSet =
true;
64 m_description = std::forward<DescriptionT>(value);
66 template <
typename DescriptionT = Aws::String>
89 template <
typename SemanticVersionT = Aws::String>
91 m_semanticVersionHasBeenSet =
true;
92 m_semanticVersion = std::forward<SemanticVersionT>(value);
94 template <
typename SemanticVersionT = Aws::String>
107 template <
typename ComponentsT = Aws::Vector<ComponentConfiguration>>
109 m_componentsHasBeenSet =
true;
110 m_components = std::forward<ComponentsT>(value);
112 template <
typename ComponentsT = Aws::Vector<ComponentConfiguration>>
117 template <
typename ComponentsT = ComponentConfiguration>
119 m_componentsHasBeenSet =
true;
120 m_components.emplace_back(std::forward<ComponentsT>(value));
138 template <
typename ParentImageT = Aws::String>
140 m_parentImageHasBeenSet =
true;
141 m_parentImage = std::forward<ParentImageT>(value);
143 template <
typename ParentImageT = Aws::String>
156 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
158 m_blockDeviceMappingsHasBeenSet =
true;
159 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
161 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
166 template <
typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
168 m_blockDeviceMappingsHasBeenSet =
true;
169 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
180 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
182 m_tagsHasBeenSet =
true;
183 m_tags = std::forward<TagsT>(value);
185 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
187 SetTags(std::forward<TagsT>(value));
190 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
192 m_tagsHasBeenSet =
true;
193 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
204 template <
typename WorkingDirectoryT = Aws::String>
206 m_workingDirectoryHasBeenSet =
true;
207 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
209 template <
typename WorkingDirectoryT = Aws::String>
222 template <
typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
224 m_additionalInstanceConfigurationHasBeenSet =
true;
225 m_additionalInstanceConfiguration = std::forward<AdditionalInstanceConfigurationT>(value);
227 template <
typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
241 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
243 m_amiTagsHasBeenSet =
true;
244 m_amiTags = std::forward<AmiTagsT>(value);
246 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
251 template <
typename AmiTagsKeyT = Aws::String,
typename AmiTagsValueT = Aws::String>
253 m_amiTagsHasBeenSet =
true;
254 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
268 template <
typename ClientTokenT = Aws::String>
270 m_clientTokenHasBeenSet =
true;
271 m_clientToken = std::forward<ClientTokenT>(value);
273 template <
typename ClientTokenT = Aws::String>
301 bool m_nameHasBeenSet =
false;
302 bool m_descriptionHasBeenSet =
false;
303 bool m_semanticVersionHasBeenSet =
false;
304 bool m_componentsHasBeenSet =
false;
305 bool m_parentImageHasBeenSet =
false;
306 bool m_blockDeviceMappingsHasBeenSet =
false;
307 bool m_tagsHasBeenSet =
false;
308 bool m_workingDirectoryHasBeenSet =
false;
309 bool m_additionalInstanceConfigurationHasBeenSet =
false;
310 bool m_amiTagsHasBeenSet =
false;
311 bool m_clientTokenHasBeenSet =
true;
static Aws::Utils::UUID PseudoRandomUUID()
bool ClientTokenHasBeenSet() const
CreateImageRecipeRequest & WithClientToken(ClientTokenT &&value)
void SetParentImage(ParentImageT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
CreateImageRecipeRequest & WithTags(TagsT &&value)
bool ComponentsHasBeenSet() const
const Aws::String & GetDescription() const
CreateImageRecipeRequest & WithDescription(DescriptionT &&value)
CreateImageRecipeRequest & WithSemanticVersion(SemanticVersionT &&value)
CreateImageRecipeRequest & WithComponents(ComponentsT &&value)
const Aws::String & GetName() const
const Aws::String & GetSemanticVersion() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
void SetWorkingDirectory(WorkingDirectoryT &&value)
CreateImageRecipeRequest & WithAmiTags(AmiTagsT &&value)
bool AmiTagsHasBeenSet() const
CreateImageRecipeRequest & WithParentImage(ParentImageT &&value)
void SetClientToken(ClientTokenT &&value)
const Aws::String & GetClientToken() const
const AdditionalInstanceConfiguration & GetAdditionalInstanceConfiguration() const
void SetComponents(ComponentsT &&value)
bool ParentImageHasBeenSet() const
CreateImageRecipeRequest & AddComponents(ComponentsT &&value)
void SetAmiTags(AmiTagsT &&value)
AWS_IMAGEBUILDER_API CreateImageRecipeRequest()=default
bool AdditionalInstanceConfigurationHasBeenSet() const
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
void SetName(NameT &&value)
bool WorkingDirectoryHasBeenSet() const
bool DescriptionHasBeenSet() const
void SetDescription(DescriptionT &&value)
bool NameHasBeenSet() const
bool SemanticVersionHasBeenSet() const
void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
CreateImageRecipeRequest & WithWorkingDirectory(WorkingDirectoryT &&value)
CreateImageRecipeRequest & WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
const Aws::String & GetParentImage() const
CreateImageRecipeRequest & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
void SetSemanticVersion(SemanticVersionT &&value)
bool TagsHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetAmiTags() const
CreateImageRecipeRequest & AddAmiTags(AmiTagsKeyT &&key, AmiTagsValueT &&value)
bool BlockDeviceMappingsHasBeenSet() const
CreateImageRecipeRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateImageRecipeRequest & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::String & GetWorkingDirectory() const
AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override
void SetTags(TagsT &&value)
const Aws::Vector< ComponentConfiguration > & GetComponents() const
virtual const char * GetServiceRequestName() const override
CreateImageRecipeRequest & WithName(NameT &&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