AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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
64 inline ImageType GetType() const { return m_type; }
65 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
66 inline void SetType(ImageType value) {
67 m_typeHasBeenSet = true;
68 m_type = value;
69 }
71 SetType(value);
72 return *this;
73 }
75
77
80 inline const Aws::String& GetName() const { return m_name; }
81 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
82 template <typename NameT = Aws::String>
83 void SetName(NameT&& value) {
84 m_nameHasBeenSet = true;
85 m_name = std::forward<NameT>(value);
86 }
87 template <typename NameT = Aws::String>
88 ImageRecipe& WithName(NameT&& value) {
89 SetName(std::forward<NameT>(value));
90 return *this;
91 }
93
95
98 inline const Aws::String& GetDescription() const { return m_description; }
99 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
100 template <typename DescriptionT = Aws::String>
101 void SetDescription(DescriptionT&& value) {
102 m_descriptionHasBeenSet = true;
103 m_description = std::forward<DescriptionT>(value);
104 }
105 template <typename DescriptionT = Aws::String>
106 ImageRecipe& WithDescription(DescriptionT&& value) {
107 SetDescription(std::forward<DescriptionT>(value));
108 return *this;
109 }
111
113
116 inline Platform GetPlatform() const { return m_platform; }
117 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
118 inline void SetPlatform(Platform value) {
119 m_platformHasBeenSet = true;
120 m_platform = value;
121 }
123 SetPlatform(value);
124 return *this;
125 }
127
129
132 inline const Aws::String& GetOwner() const { return m_owner; }
133 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
134 template <typename OwnerT = Aws::String>
135 void SetOwner(OwnerT&& value) {
136 m_ownerHasBeenSet = true;
137 m_owner = std::forward<OwnerT>(value);
138 }
139 template <typename OwnerT = Aws::String>
140 ImageRecipe& WithOwner(OwnerT&& value) {
141 SetOwner(std::forward<OwnerT>(value));
142 return *this;
143 }
145
147
150 inline const Aws::String& GetVersion() const { return m_version; }
151 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
152 template <typename VersionT = Aws::String>
153 void SetVersion(VersionT&& value) {
154 m_versionHasBeenSet = true;
155 m_version = std::forward<VersionT>(value);
156 }
157 template <typename VersionT = Aws::String>
158 ImageRecipe& WithVersion(VersionT&& value) {
159 SetVersion(std::forward<VersionT>(value));
160 return *this;
161 }
163
165
170 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
171 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
172 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
173 void SetComponents(ComponentsT&& value) {
174 m_componentsHasBeenSet = true;
175 m_components = std::forward<ComponentsT>(value);
176 }
177 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
178 ImageRecipe& WithComponents(ComponentsT&& value) {
179 SetComponents(std::forward<ComponentsT>(value));
180 return *this;
181 }
182 template <typename ComponentsT = ComponentConfiguration>
183 ImageRecipe& AddComponents(ComponentsT&& value) {
184 m_componentsHasBeenSet = true;
185 m_components.emplace_back(std::forward<ComponentsT>(value));
186 return *this;
187 }
189
191
200 inline const Aws::String& GetParentImage() const { return m_parentImage; }
201 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
202 template <typename ParentImageT = Aws::String>
203 void SetParentImage(ParentImageT&& value) {
204 m_parentImageHasBeenSet = true;
205 m_parentImage = std::forward<ParentImageT>(value);
206 }
207 template <typename ParentImageT = Aws::String>
208 ImageRecipe& WithParentImage(ParentImageT&& value) {
209 SetParentImage(std::forward<ParentImageT>(value));
210 return *this;
211 }
213
215
218 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
219 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
220 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
221 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
222 m_blockDeviceMappingsHasBeenSet = true;
223 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
224 }
225 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
226 ImageRecipe& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
227 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
228 return *this;
229 }
230 template <typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
231 ImageRecipe& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
232 m_blockDeviceMappingsHasBeenSet = true;
233 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
234 return *this;
235 }
237
239
242 inline const Aws::String& GetDateCreated() const { return m_dateCreated; }
243 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
244 template <typename DateCreatedT = Aws::String>
245 void SetDateCreated(DateCreatedT&& value) {
246 m_dateCreatedHasBeenSet = true;
247 m_dateCreated = std::forward<DateCreatedT>(value);
248 }
249 template <typename DateCreatedT = Aws::String>
250 ImageRecipe& WithDateCreated(DateCreatedT&& value) {
251 SetDateCreated(std::forward<DateCreatedT>(value));
252 return *this;
253 }
255
257
260 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
261 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
262 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
263 void SetTags(TagsT&& value) {
264 m_tagsHasBeenSet = true;
265 m_tags = std::forward<TagsT>(value);
266 }
267 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
268 ImageRecipe& WithTags(TagsT&& value) {
269 SetTags(std::forward<TagsT>(value));
270 return *this;
271 }
272 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
273 ImageRecipe& AddTags(TagsKeyT&& key, TagsValueT&& value) {
274 m_tagsHasBeenSet = true;
275 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
276 return *this;
277 }
279
281
284 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
285 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
286 template <typename WorkingDirectoryT = Aws::String>
287 void SetWorkingDirectory(WorkingDirectoryT&& value) {
288 m_workingDirectoryHasBeenSet = true;
289 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
290 }
291 template <typename WorkingDirectoryT = Aws::String>
292 ImageRecipe& WithWorkingDirectory(WorkingDirectoryT&& value) {
293 SetWorkingDirectory(std::forward<WorkingDirectoryT>(value));
294 return *this;
295 }
297
299
305 inline const AdditionalInstanceConfiguration& GetAdditionalInstanceConfiguration() const { return m_additionalInstanceConfiguration; }
306 inline bool AdditionalInstanceConfigurationHasBeenSet() const { return m_additionalInstanceConfigurationHasBeenSet; }
307 template <typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
308 void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) {
309 m_additionalInstanceConfigurationHasBeenSet = true;
310 m_additionalInstanceConfiguration = std::forward<AdditionalInstanceConfigurationT>(value);
311 }
312 template <typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
313 ImageRecipe& WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) {
314 SetAdditionalInstanceConfiguration(std::forward<AdditionalInstanceConfigurationT>(value));
315 return *this;
316 }
318
320
324 inline const Aws::Map<Aws::String, Aws::String>& GetAmiTags() const { return m_amiTags; }
325 inline bool AmiTagsHasBeenSet() const { return m_amiTagsHasBeenSet; }
326 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
327 void SetAmiTags(AmiTagsT&& value) {
328 m_amiTagsHasBeenSet = true;
329 m_amiTags = std::forward<AmiTagsT>(value);
330 }
331 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
332 ImageRecipe& WithAmiTags(AmiTagsT&& value) {
333 SetAmiTags(std::forward<AmiTagsT>(value));
334 return *this;
335 }
336 template <typename AmiTagsKeyT = Aws::String, typename AmiTagsValueT = Aws::String>
337 ImageRecipe& AddAmiTags(AmiTagsKeyT&& key, AmiTagsValueT&& value) {
338 m_amiTagsHasBeenSet = true;
339 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
340 return *this;
341 }
343 private:
344 Aws::String m_arn;
345
347
348 Aws::String m_name;
349
350 Aws::String m_description;
351
352 Platform m_platform{Platform::NOT_SET};
353
354 Aws::String m_owner;
355
356 Aws::String m_version;
357
359
360 Aws::String m_parentImage;
361
362 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
363
364 Aws::String m_dateCreated;
365
367
368 Aws::String m_workingDirectory;
369
370 AdditionalInstanceConfiguration m_additionalInstanceConfiguration;
371
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;
388};
389
390} // namespace Model
391} // namespace imagebuilder
392} // 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
ImageRecipe & WithName(NameT &&value)
Definition ImageRecipe.h:88
ImageRecipe & WithType(ImageType value)
Definition ImageRecipe.h:70
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:80
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)
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:98
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