AWS SDK for C++

AWS SDK for C++ Version 1.11.902

Loading...
Searching...
No Matches
ImageRecipe.h
1
6#pragma once
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>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace imagebuilder {
27namespace Model {
28
35 public:
36 AWS_IMAGEBUILDER_API ImageRecipe() = default;
37 AWS_IMAGEBUILDER_API ImageRecipe(Aws::Utils::Json::JsonView jsonValue);
38 AWS_IMAGEBUILDER_API ImageRecipe& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetArn() const { return m_arn; }
46 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
47 template <typename ArnT = Aws::String>
48 void SetArn(ArnT&& value) {
49 m_arnHasBeenSet = true;
50 m_arn = std::forward<ArnT>(value);
51 }
52 template <typename ArnT = Aws::String>
53 ImageRecipe& WithArn(ArnT&& value) {
54 SetArn(std::forward<ArnT>(value));
55 return *this;
56 }
58
60
65 inline ImageType GetType() const { return m_type; }
66 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
67 inline void SetType(ImageType value) {
68 m_typeHasBeenSet = true;
69 m_type = value;
70 }
72 SetType(value);
73 return *this;
74 }
76
78
81 inline const Aws::String& GetName() const { return m_name; }
82 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
83 template <typename NameT = Aws::String>
84 void SetName(NameT&& value) {
85 m_nameHasBeenSet = true;
86 m_name = std::forward<NameT>(value);
87 }
88 template <typename NameT = Aws::String>
89 ImageRecipe& WithName(NameT&& value) {
90 SetName(std::forward<NameT>(value));
91 return *this;
92 }
94
96
99 inline const Aws::String& GetDescription() const { return m_description; }
100 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
101 template <typename DescriptionT = Aws::String>
102 void SetDescription(DescriptionT&& value) {
103 m_descriptionHasBeenSet = true;
104 m_description = std::forward<DescriptionT>(value);
105 }
106 template <typename DescriptionT = Aws::String>
107 ImageRecipe& WithDescription(DescriptionT&& value) {
108 SetDescription(std::forward<DescriptionT>(value));
109 return *this;
110 }
112
114
117 inline Platform GetPlatform() const { return m_platform; }
118 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
119 inline void SetPlatform(Platform value) {
120 m_platformHasBeenSet = true;
121 m_platform = value;
122 }
124 SetPlatform(value);
125 return *this;
126 }
128
130
133 inline const Aws::String& GetOwner() const { return m_owner; }
134 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
135 template <typename OwnerT = Aws::String>
136 void SetOwner(OwnerT&& value) {
137 m_ownerHasBeenSet = true;
138 m_owner = std::forward<OwnerT>(value);
139 }
140 template <typename OwnerT = Aws::String>
141 ImageRecipe& WithOwner(OwnerT&& value) {
142 SetOwner(std::forward<OwnerT>(value));
143 return *this;
144 }
146
148
151 inline const Aws::String& GetVersion() const { return m_version; }
152 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
153 template <typename VersionT = Aws::String>
154 void SetVersion(VersionT&& value) {
155 m_versionHasBeenSet = true;
156 m_version = std::forward<VersionT>(value);
157 }
158 template <typename VersionT = Aws::String>
159 ImageRecipe& WithVersion(VersionT&& value) {
160 SetVersion(std::forward<VersionT>(value));
161 return *this;
162 }
164
166
174 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
175 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
176 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
177 void SetComponents(ComponentsT&& value) {
178 m_componentsHasBeenSet = true;
179 m_components = std::forward<ComponentsT>(value);
180 }
181 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
182 ImageRecipe& WithComponents(ComponentsT&& value) {
183 SetComponents(std::forward<ComponentsT>(value));
184 return *this;
185 }
186 template <typename ComponentsT = ComponentConfiguration>
187 ImageRecipe& AddComponents(ComponentsT&& value) {
188 m_componentsHasBeenSet = true;
189 m_components.emplace_back(std::forward<ComponentsT>(value));
190 return *this;
191 }
193
195
204 inline const Aws::String& GetParentImage() const { return m_parentImage; }
205 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
206 template <typename ParentImageT = Aws::String>
207 void SetParentImage(ParentImageT&& value) {
208 m_parentImageHasBeenSet = true;
209 m_parentImage = std::forward<ParentImageT>(value);
210 }
211 template <typename ParentImageT = Aws::String>
212 ImageRecipe& WithParentImage(ParentImageT&& value) {
213 SetParentImage(std::forward<ParentImageT>(value));
214 return *this;
215 }
217
219
222 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
223 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
224 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
225 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
226 m_blockDeviceMappingsHasBeenSet = true;
227 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
228 }
229 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
230 ImageRecipe& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
231 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
232 return *this;
233 }
234 template <typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
235 ImageRecipe& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
236 m_blockDeviceMappingsHasBeenSet = true;
237 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
238 return *this;
239 }
241
243
246 inline const Aws::String& GetDateCreated() const { return m_dateCreated; }
247 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
248 template <typename DateCreatedT = Aws::String>
249 void SetDateCreated(DateCreatedT&& value) {
250 m_dateCreatedHasBeenSet = true;
251 m_dateCreated = std::forward<DateCreatedT>(value);
252 }
253 template <typename DateCreatedT = Aws::String>
254 ImageRecipe& WithDateCreated(DateCreatedT&& value) {
255 SetDateCreated(std::forward<DateCreatedT>(value));
256 return *this;
257 }
259
261
264 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
265 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
266 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
267 void SetTags(TagsT&& value) {
268 m_tagsHasBeenSet = true;
269 m_tags = std::forward<TagsT>(value);
270 }
271 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
272 ImageRecipe& WithTags(TagsT&& value) {
273 SetTags(std::forward<TagsT>(value));
274 return *this;
275 }
276 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
277 ImageRecipe& AddTags(TagsKeyT&& key, TagsValueT&& value) {
278 m_tagsHasBeenSet = true;
279 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
280 return *this;
281 }
283
285
290 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
291 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
292 template <typename WorkingDirectoryT = Aws::String>
293 void SetWorkingDirectory(WorkingDirectoryT&& value) {
294 m_workingDirectoryHasBeenSet = true;
295 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
296 }
297 template <typename WorkingDirectoryT = Aws::String>
298 ImageRecipe& WithWorkingDirectory(WorkingDirectoryT&& value) {
299 SetWorkingDirectory(std::forward<WorkingDirectoryT>(value));
300 return *this;
301 }
303
305
311 inline const AdditionalInstanceConfiguration& GetAdditionalInstanceConfiguration() const { return m_additionalInstanceConfiguration; }
312 inline bool AdditionalInstanceConfigurationHasBeenSet() const { return m_additionalInstanceConfigurationHasBeenSet; }
313 template <typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
314 void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) {
315 m_additionalInstanceConfigurationHasBeenSet = true;
316 m_additionalInstanceConfiguration = std::forward<AdditionalInstanceConfigurationT>(value);
317 }
318 template <typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
319 ImageRecipe& WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) {
320 SetAdditionalInstanceConfiguration(std::forward<AdditionalInstanceConfigurationT>(value));
321 return *this;
322 }
324
326
330 inline const Aws::Map<Aws::String, Aws::String>& GetAmiTags() const { return m_amiTags; }
331 inline bool AmiTagsHasBeenSet() const { return m_amiTagsHasBeenSet; }
332 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
333 void SetAmiTags(AmiTagsT&& value) {
334 m_amiTagsHasBeenSet = true;
335 m_amiTags = std::forward<AmiTagsT>(value);
336 }
337 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
338 ImageRecipe& WithAmiTags(AmiTagsT&& value) {
339 SetAmiTags(std::forward<AmiTagsT>(value));
340 return *this;
341 }
342 template <typename AmiTagsKeyT = Aws::String, typename AmiTagsValueT = Aws::String>
343 ImageRecipe& AddAmiTags(AmiTagsKeyT&& key, AmiTagsValueT&& value) {
344 m_amiTagsHasBeenSet = true;
345 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
346 return *this;
347 }
349
351
356 inline const Aws::Vector<Aws::String>& GetAmiWatermarks() const { return m_amiWatermarks; }
357 inline bool AmiWatermarksHasBeenSet() const { return m_amiWatermarksHasBeenSet; }
358 template <typename AmiWatermarksT = Aws::Vector<Aws::String>>
359 void SetAmiWatermarks(AmiWatermarksT&& value) {
360 m_amiWatermarksHasBeenSet = true;
361 m_amiWatermarks = std::forward<AmiWatermarksT>(value);
362 }
363 template <typename AmiWatermarksT = Aws::Vector<Aws::String>>
364 ImageRecipe& WithAmiWatermarks(AmiWatermarksT&& value) {
365 SetAmiWatermarks(std::forward<AmiWatermarksT>(value));
366 return *this;
367 }
368 template <typename AmiWatermarksT = Aws::String>
369 ImageRecipe& AddAmiWatermarks(AmiWatermarksT&& value) {
370 m_amiWatermarksHasBeenSet = true;
371 m_amiWatermarks.emplace_back(std::forward<AmiWatermarksT>(value));
372 return *this;
373 }
375 private:
376 Aws::String m_arn;
377
379
380 Aws::String m_name;
381
382 Aws::String m_description;
383
384 Platform m_platform{Platform::NOT_SET};
385
386 Aws::String m_owner;
387
388 Aws::String m_version;
389
391
392 Aws::String m_parentImage;
393
394 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
395
396 Aws::String m_dateCreated;
397
399
400 Aws::String m_workingDirectory;
401
402 AdditionalInstanceConfiguration m_additionalInstanceConfiguration;
403
405
406 Aws::Vector<Aws::String> m_amiWatermarks;
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;
423};
424
425} // namespace Model
426} // namespace imagebuilder
427} // namespace Aws
void SetWorkingDirectory(WorkingDirectoryT &&value)
ImageRecipe & WithDescription(DescriptionT &&value)
ImageRecipe & AddAmiTags(AmiTagsKeyT &&key, AmiTagsValueT &&value)
ImageRecipe & AddComponents(ComponentsT &&value)
const Aws::String & GetVersion() const
const Aws::Vector< ComponentConfiguration > & GetComponents() const
void SetAmiWatermarks(AmiWatermarksT &&value)
ImageRecipe & WithName(NameT &&value)
Definition ImageRecipe.h:89
ImageRecipe & WithType(ImageType value)
Definition ImageRecipe.h:71
void SetVersion(VersionT &&value)
ImageRecipe & WithArn(ArnT &&value)
Definition ImageRecipe.h:53
const Aws::String & GetArn() const
Definition ImageRecipe.h:45
ImageRecipe & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
void SetAmiTags(AmiTagsT &&value)
void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
ImageRecipe & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
ImageRecipe & WithAmiTags(AmiTagsT &&value)
const Aws::String & GetName() const
Definition ImageRecipe.h:81
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)
ImageRecipe & AddAmiWatermarks(AmiWatermarksT &&value)
ImageRecipe & WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
const Aws::String & GetParentImage() const
void SetDescription(DescriptionT &&value)
AWS_IMAGEBUILDER_API ImageRecipe()=default
void SetDateCreated(DateCreatedT &&value)
ImageRecipe & WithPlatform(Platform value)
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
Definition ImageRecipe.h:99
void SetComponents(ComponentsT &&value)
bool AdditionalInstanceConfigurationHasBeenSet() const
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
const AdditionalInstanceConfiguration & GetAdditionalInstanceConfiguration() const
ImageRecipe & WithComponents(ComponentsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ImageRecipe & WithParentImage(ParentImageT &&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
Aws::Utils::Json::JsonValue JsonValue