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/AdditionalInstanceConfiguration.h>
12#include <aws/imagebuilder/model/ComponentConfiguration.h>
13#include <aws/imagebuilder/model/ImageType.h>
14#include <aws/imagebuilder/model/InstanceBlockDeviceMapping.h>
15#include <aws/imagebuilder/model/Platform.h>
26namespace imagebuilder {
47 template <
typename ArnT = Aws::String>
49 m_arnHasBeenSet =
true;
50 m_arn = std::forward<ArnT>(value);
52 template <
typename ArnT = Aws::String>
54 SetArn(std::forward<ArnT>(value));
67 m_typeHasBeenSet =
true;
82 template <
typename NameT = Aws::String>
84 m_nameHasBeenSet =
true;
85 m_name = std::forward<NameT>(value);
87 template <
typename NameT = Aws::String>
89 SetName(std::forward<NameT>(value));
100 template <
typename DescriptionT = Aws::String>
102 m_descriptionHasBeenSet =
true;
103 m_description = std::forward<DescriptionT>(value);
105 template <
typename DescriptionT = Aws::String>
119 m_platformHasBeenSet =
true;
134 template <
typename OwnerT = Aws::String>
136 m_ownerHasBeenSet =
true;
137 m_owner = std::forward<OwnerT>(value);
139 template <
typename OwnerT = Aws::String>
141 SetOwner(std::forward<OwnerT>(value));
152 template <
typename VersionT = Aws::String>
154 m_versionHasBeenSet =
true;
155 m_version = std::forward<VersionT>(value);
157 template <
typename VersionT = Aws::String>
172 template <
typename ComponentsT = Aws::Vector<ComponentConfiguration>>
174 m_componentsHasBeenSet =
true;
175 m_components = std::forward<ComponentsT>(value);
177 template <
typename ComponentsT = Aws::Vector<ComponentConfiguration>>
182 template <
typename ComponentsT = ComponentConfiguration>
184 m_componentsHasBeenSet =
true;
185 m_components.emplace_back(std::forward<ComponentsT>(value));
202 template <
typename ParentImageT = Aws::String>
204 m_parentImageHasBeenSet =
true;
205 m_parentImage = std::forward<ParentImageT>(value);
207 template <
typename ParentImageT = Aws::String>
220 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
222 m_blockDeviceMappingsHasBeenSet =
true;
223 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
225 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
230 template <
typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
232 m_blockDeviceMappingsHasBeenSet =
true;
233 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
244 template <
typename DateCreatedT = Aws::String>
246 m_dateCreatedHasBeenSet =
true;
247 m_dateCreated = std::forward<DateCreatedT>(value);
249 template <
typename DateCreatedT = Aws::String>
262 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
264 m_tagsHasBeenSet =
true;
265 m_tags = std::forward<TagsT>(value);
267 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
269 SetTags(std::forward<TagsT>(value));
272 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
274 m_tagsHasBeenSet =
true;
275 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
286 template <
typename WorkingDirectoryT = Aws::String>
288 m_workingDirectoryHasBeenSet =
true;
289 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
291 template <
typename WorkingDirectoryT = Aws::String>
307 template <
typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
309 m_additionalInstanceConfigurationHasBeenSet =
true;
310 m_additionalInstanceConfiguration = std::forward<AdditionalInstanceConfigurationT>(value);
312 template <
typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
326 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
328 m_amiTagsHasBeenSet =
true;
329 m_amiTags = std::forward<AmiTagsT>(value);
331 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
336 template <
typename AmiTagsKeyT = Aws::String,
typename AmiTagsValueT = Aws::String>
338 m_amiTagsHasBeenSet =
true;
339 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
370 AdditionalInstanceConfiguration m_additionalInstanceConfiguration;
373 bool m_arnHasBeenSet =
false;
374 bool m_typeHasBeenSet =
false;
375 bool m_nameHasBeenSet =
false;
376 bool m_descriptionHasBeenSet =
false;
377 bool m_platformHasBeenSet =
false;
378 bool m_ownerHasBeenSet =
false;
379 bool m_versionHasBeenSet =
false;
380 bool m_componentsHasBeenSet =
false;
381 bool m_parentImageHasBeenSet =
false;
382 bool m_blockDeviceMappingsHasBeenSet =
false;
383 bool m_dateCreatedHasBeenSet =
false;
384 bool m_tagsHasBeenSet =
false;
385 bool m_workingDirectoryHasBeenSet =
false;
386 bool m_additionalInstanceConfigurationHasBeenSet =
false;
387 bool m_amiTagsHasBeenSet =
false;
void SetWorkingDirectory(WorkingDirectoryT &&value)
bool ArnHasBeenSet() const
ImageRecipe & WithDescription(DescriptionT &&value)
ImageRecipe & AddAmiTags(AmiTagsKeyT &&key, AmiTagsValueT &&value)
bool ComponentsHasBeenSet() const
void SetPlatform(Platform value)
ImageRecipe & AddComponents(ComponentsT &&value)
const Aws::String & GetVersion() const
bool DescriptionHasBeenSet() const
const Aws::Vector< ComponentConfiguration > & GetComponents() const
bool AmiTagsHasBeenSet() const
ImageRecipe & WithName(NameT &&value)
ImageRecipe & WithType(ImageType value)
void SetVersion(VersionT &&value)
ImageRecipe & WithArn(ArnT &&value)
bool TagsHasBeenSet() const
bool TypeHasBeenSet() const
const Aws::String & GetArn() const
ImageRecipe & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
void SetAmiTags(AmiTagsT &&value)
void SetTags(TagsT &&value)
void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
ImageRecipe & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
ImageRecipe & WithAmiTags(AmiTagsT &&value)
const Aws::String & GetName() const
ImageRecipe & WithTags(TagsT &&value)
ImageRecipe & WithDateCreated(DateCreatedT &&value)
void SetParentImage(ParentImageT &&value)
AWS_IMAGEBUILDER_API ImageRecipe(Aws::Utils::Json::JsonView jsonValue)
ImageRecipe & WithWorkingDirectory(WorkingDirectoryT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAmiTags() const
const Aws::String & GetWorkingDirectory() const
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetDateCreated() const
ImageRecipe & WithVersion(VersionT &&value)
const Aws::String & GetOwner() const
ImageRecipe & WithOwner(OwnerT &&value)
void SetOwner(OwnerT &&value)
bool NameHasBeenSet() const
void SetType(ImageType value)
bool BlockDeviceMappingsHasBeenSet() const
void SetArn(ArnT &&value)
ImageRecipe & WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
Platform GetPlatform() const
const Aws::String & GetParentImage() const
void SetDescription(DescriptionT &&value)
AWS_IMAGEBUILDER_API ImageRecipe()=default
bool PlatformHasBeenSet() const
bool ParentImageHasBeenSet() const
void SetDateCreated(DateCreatedT &&value)
ImageRecipe & WithPlatform(Platform value)
bool WorkingDirectoryHasBeenSet() const
ImageRecipe & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
AWS_IMAGEBUILDER_API ImageRecipe & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetDescription() const
void SetComponents(ComponentsT &&value)
bool AdditionalInstanceConfigurationHasBeenSet() const
bool DateCreatedHasBeenSet() const
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
void SetName(NameT &&value)
bool OwnerHasBeenSet() const
const AdditionalInstanceConfiguration & GetAdditionalInstanceConfiguration() const
ImageRecipe & WithComponents(ComponentsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ImageRecipe & WithParentImage(ParentImageT &&value)
ImageType GetType() const
bool VersionHasBeenSet() 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