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));
68 m_typeHasBeenSet =
true;
83 template <
typename NameT = Aws::String>
85 m_nameHasBeenSet =
true;
86 m_name = std::forward<NameT>(value);
88 template <
typename NameT = Aws::String>
90 SetName(std::forward<NameT>(value));
101 template <
typename DescriptionT = Aws::String>
103 m_descriptionHasBeenSet =
true;
104 m_description = std::forward<DescriptionT>(value);
106 template <
typename DescriptionT = Aws::String>
120 m_platformHasBeenSet =
true;
135 template <
typename OwnerT = Aws::String>
137 m_ownerHasBeenSet =
true;
138 m_owner = std::forward<OwnerT>(value);
140 template <
typename OwnerT = Aws::String>
142 SetOwner(std::forward<OwnerT>(value));
153 template <
typename VersionT = Aws::String>
155 m_versionHasBeenSet =
true;
156 m_version = std::forward<VersionT>(value);
158 template <
typename VersionT = Aws::String>
176 template <
typename ComponentsT = Aws::Vector<ComponentConfiguration>>
178 m_componentsHasBeenSet =
true;
179 m_components = std::forward<ComponentsT>(value);
181 template <
typename ComponentsT = Aws::Vector<ComponentConfiguration>>
186 template <
typename ComponentsT = ComponentConfiguration>
188 m_componentsHasBeenSet =
true;
189 m_components.emplace_back(std::forward<ComponentsT>(value));
206 template <
typename ParentImageT = Aws::String>
208 m_parentImageHasBeenSet =
true;
209 m_parentImage = std::forward<ParentImageT>(value);
211 template <
typename ParentImageT = Aws::String>
224 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
226 m_blockDeviceMappingsHasBeenSet =
true;
227 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
229 template <
typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
234 template <
typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
236 m_blockDeviceMappingsHasBeenSet =
true;
237 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
248 template <
typename DateCreatedT = Aws::String>
250 m_dateCreatedHasBeenSet =
true;
251 m_dateCreated = std::forward<DateCreatedT>(value);
253 template <
typename DateCreatedT = Aws::String>
266 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
268 m_tagsHasBeenSet =
true;
269 m_tags = std::forward<TagsT>(value);
271 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
273 SetTags(std::forward<TagsT>(value));
276 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
278 m_tagsHasBeenSet =
true;
279 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
292 template <
typename WorkingDirectoryT = Aws::String>
294 m_workingDirectoryHasBeenSet =
true;
295 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
297 template <
typename WorkingDirectoryT = Aws::String>
313 template <
typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
315 m_additionalInstanceConfigurationHasBeenSet =
true;
316 m_additionalInstanceConfiguration = std::forward<AdditionalInstanceConfigurationT>(value);
318 template <
typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
332 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
334 m_amiTagsHasBeenSet =
true;
335 m_amiTags = std::forward<AmiTagsT>(value);
337 template <
typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
342 template <
typename AmiTagsKeyT = Aws::String,
typename AmiTagsValueT = Aws::String>
344 m_amiTagsHasBeenSet =
true;
345 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
358 template <
typename AmiWatermarksT = Aws::Vector<Aws::String>>
360 m_amiWatermarksHasBeenSet =
true;
361 m_amiWatermarks = std::forward<AmiWatermarksT>(value);
363 template <
typename AmiWatermarksT = Aws::Vector<Aws::String>>
368 template <
typename AmiWatermarksT = Aws::String>
370 m_amiWatermarksHasBeenSet =
true;
371 m_amiWatermarks.emplace_back(std::forward<AmiWatermarksT>(value));
402 AdditionalInstanceConfiguration m_additionalInstanceConfiguration;
407 bool m_arnHasBeenSet =
false;
408 bool m_typeHasBeenSet =
false;
409 bool m_nameHasBeenSet =
false;
410 bool m_descriptionHasBeenSet =
false;
411 bool m_platformHasBeenSet =
false;
412 bool m_ownerHasBeenSet =
false;
413 bool m_versionHasBeenSet =
false;
414 bool m_componentsHasBeenSet =
false;
415 bool m_parentImageHasBeenSet =
false;
416 bool m_blockDeviceMappingsHasBeenSet =
false;
417 bool m_dateCreatedHasBeenSet =
false;
418 bool m_tagsHasBeenSet =
false;
419 bool m_workingDirectoryHasBeenSet =
false;
420 bool m_additionalInstanceConfigurationHasBeenSet =
false;
421 bool m_amiTagsHasBeenSet =
false;
422 bool m_amiWatermarksHasBeenSet =
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
void SetAmiWatermarks(AmiWatermarksT &&value)
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)
const Aws::Vector< Aws::String > & GetAmiWatermarks() const
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)
ImageRecipe & WithAmiWatermarks(AmiWatermarksT &&value)
void SetOwner(OwnerT &&value)
bool NameHasBeenSet() const
void SetType(ImageType value)
bool BlockDeviceMappingsHasBeenSet() const
void SetArn(ArnT &&value)
ImageRecipe & AddAmiWatermarks(AmiWatermarksT &&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)
bool AmiWatermarksHasBeenSet() const
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