AWS SDK for C++

AWS SDK for C++ Version 1.11.909

Loading...
Searching...
No Matches
CreateImageRecipeRequest.h
1
6#pragma once
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>
16
17#include <utility>
18
19namespace Aws {
20namespace imagebuilder {
21namespace Model {
22
26 public:
27 AWS_IMAGEBUILDER_API CreateImageRecipeRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateImageRecipe"; }
34
35 AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override;
36
38
45 inline const Aws::String& GetName() const { return m_name; }
46 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
47 template <typename NameT = Aws::String>
48 void SetName(NameT&& value) {
49 m_nameHasBeenSet = true;
50 m_name = std::forward<NameT>(value);
51 }
52 template <typename NameT = Aws::String>
54 SetName(std::forward<NameT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetDescription() const { return m_description; }
64 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
65 template <typename DescriptionT = Aws::String>
66 void SetDescription(DescriptionT&& value) {
67 m_descriptionHasBeenSet = true;
68 m_description = std::forward<DescriptionT>(value);
69 }
70 template <typename DescriptionT = Aws::String>
72 SetDescription(std::forward<DescriptionT>(value));
73 return *this;
74 }
76
78
91 inline const Aws::String& GetSemanticVersion() const { return m_semanticVersion; }
92 inline bool SemanticVersionHasBeenSet() const { return m_semanticVersionHasBeenSet; }
93 template <typename SemanticVersionT = Aws::String>
94 void SetSemanticVersion(SemanticVersionT&& value) {
95 m_semanticVersionHasBeenSet = true;
96 m_semanticVersion = std::forward<SemanticVersionT>(value);
97 }
98 template <typename SemanticVersionT = Aws::String>
99 CreateImageRecipeRequest& WithSemanticVersion(SemanticVersionT&& value) {
100 SetSemanticVersion(std::forward<SemanticVersionT>(value));
101 return *this;
102 }
104
106
113 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
114 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
115 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
116 void SetComponents(ComponentsT&& value) {
117 m_componentsHasBeenSet = true;
118 m_components = std::forward<ComponentsT>(value);
119 }
120 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
122 SetComponents(std::forward<ComponentsT>(value));
123 return *this;
124 }
125 template <typename ComponentsT = ComponentConfiguration>
127 m_componentsHasBeenSet = true;
128 m_components.emplace_back(std::forward<ComponentsT>(value));
129 return *this;
130 }
132
134
145 inline const Aws::String& GetParentImage() const { return m_parentImage; }
146 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
147 template <typename ParentImageT = Aws::String>
148 void SetParentImage(ParentImageT&& value) {
149 m_parentImageHasBeenSet = true;
150 m_parentImage = std::forward<ParentImageT>(value);
151 }
152 template <typename ParentImageT = Aws::String>
154 SetParentImage(std::forward<ParentImageT>(value));
155 return *this;
156 }
158
160
165 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
166 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
167 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
168 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
169 m_blockDeviceMappingsHasBeenSet = true;
170 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
171 }
172 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
173 CreateImageRecipeRequest& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
174 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
175 return *this;
176 }
177 template <typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
178 CreateImageRecipeRequest& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
179 m_blockDeviceMappingsHasBeenSet = true;
180 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
181 return *this;
182 }
184
186
189 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
190 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
191 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
192 void SetTags(TagsT&& value) {
193 m_tagsHasBeenSet = true;
194 m_tags = std::forward<TagsT>(value);
195 }
196 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
198 SetTags(std::forward<TagsT>(value));
199 return *this;
200 }
201 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
202 CreateImageRecipeRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
203 m_tagsHasBeenSet = true;
204 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
205 return *this;
206 }
208
210
215 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
216 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
217 template <typename WorkingDirectoryT = Aws::String>
218 void SetWorkingDirectory(WorkingDirectoryT&& value) {
219 m_workingDirectoryHasBeenSet = true;
220 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
221 }
222 template <typename WorkingDirectoryT = Aws::String>
223 CreateImageRecipeRequest& WithWorkingDirectory(WorkingDirectoryT&& value) {
224 SetWorkingDirectory(std::forward<WorkingDirectoryT>(value));
225 return *this;
226 }
228
230
233 inline const AdditionalInstanceConfiguration& GetAdditionalInstanceConfiguration() const { return m_additionalInstanceConfiguration; }
234 inline bool AdditionalInstanceConfigurationHasBeenSet() const { return m_additionalInstanceConfigurationHasBeenSet; }
235 template <typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
236 void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) {
237 m_additionalInstanceConfigurationHasBeenSet = true;
238 m_additionalInstanceConfiguration = std::forward<AdditionalInstanceConfigurationT>(value);
239 }
240 template <typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
241 CreateImageRecipeRequest& WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) {
242 SetAdditionalInstanceConfiguration(std::forward<AdditionalInstanceConfigurationT>(value));
243 return *this;
244 }
246
248
252 inline const Aws::Map<Aws::String, Aws::String>& GetAmiTags() const { return m_amiTags; }
253 inline bool AmiTagsHasBeenSet() const { return m_amiTagsHasBeenSet; }
254 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
255 void SetAmiTags(AmiTagsT&& value) {
256 m_amiTagsHasBeenSet = true;
257 m_amiTags = std::forward<AmiTagsT>(value);
258 }
259 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
261 SetAmiTags(std::forward<AmiTagsT>(value));
262 return *this;
263 }
264 template <typename AmiTagsKeyT = Aws::String, typename AmiTagsValueT = Aws::String>
265 CreateImageRecipeRequest& AddAmiTags(AmiTagsKeyT&& key, AmiTagsValueT&& value) {
266 m_amiTagsHasBeenSet = true;
267 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
268 return *this;
269 }
271
273
280 inline const Aws::Vector<Aws::String>& GetAmiWatermarks() const { return m_amiWatermarks; }
281 inline bool AmiWatermarksHasBeenSet() const { return m_amiWatermarksHasBeenSet; }
282 template <typename AmiWatermarksT = Aws::Vector<Aws::String>>
283 void SetAmiWatermarks(AmiWatermarksT&& value) {
284 m_amiWatermarksHasBeenSet = true;
285 m_amiWatermarks = std::forward<AmiWatermarksT>(value);
286 }
287 template <typename AmiWatermarksT = Aws::Vector<Aws::String>>
289 SetAmiWatermarks(std::forward<AmiWatermarksT>(value));
290 return *this;
291 }
292 template <typename AmiWatermarksT = Aws::String>
294 m_amiWatermarksHasBeenSet = true;
295 m_amiWatermarks.emplace_back(std::forward<AmiWatermarksT>(value));
296 return *this;
297 }
299
301
309 inline const Aws::String& GetClientToken() const { return m_clientToken; }
310 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
311 template <typename ClientTokenT = Aws::String>
312 void SetClientToken(ClientTokenT&& value) {
313 m_clientTokenHasBeenSet = true;
314 m_clientToken = std::forward<ClientTokenT>(value);
315 }
316 template <typename ClientTokenT = Aws::String>
318 SetClientToken(std::forward<ClientTokenT>(value));
319 return *this;
320 }
322
324
329 inline bool GetDryRun() const { return m_dryRun; }
330 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
331 inline void SetDryRun(bool value) {
332 m_dryRunHasBeenSet = true;
333 m_dryRun = value;
334 }
336 SetDryRun(value);
337 return *this;
338 }
340 private:
341 Aws::String m_name;
342
343 Aws::String m_description;
344
345 Aws::String m_semanticVersion;
346
348
349 Aws::String m_parentImage;
350
351 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
352
354
355 Aws::String m_workingDirectory;
356
357 AdditionalInstanceConfiguration m_additionalInstanceConfiguration;
358
360
361 Aws::Vector<Aws::String> m_amiWatermarks;
362
364
365 bool m_dryRun{false};
366 bool m_nameHasBeenSet = false;
367 bool m_descriptionHasBeenSet = false;
368 bool m_semanticVersionHasBeenSet = false;
369 bool m_componentsHasBeenSet = false;
370 bool m_parentImageHasBeenSet = false;
371 bool m_blockDeviceMappingsHasBeenSet = false;
372 bool m_tagsHasBeenSet = false;
373 bool m_workingDirectoryHasBeenSet = false;
374 bool m_additionalInstanceConfigurationHasBeenSet = false;
375 bool m_amiTagsHasBeenSet = false;
376 bool m_amiWatermarksHasBeenSet = false;
377 bool m_clientTokenHasBeenSet = true;
378 bool m_dryRunHasBeenSet = false;
379};
380
381} // namespace Model
382} // namespace imagebuilder
383} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
CreateImageRecipeRequest & WithClientToken(ClientTokenT &&value)
CreateImageRecipeRequest & WithTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetAmiWatermarks() const
CreateImageRecipeRequest & WithDescription(DescriptionT &&value)
CreateImageRecipeRequest & WithSemanticVersion(SemanticVersionT &&value)
CreateImageRecipeRequest & WithComponents(ComponentsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateImageRecipeRequest & WithAmiTags(AmiTagsT &&value)
CreateImageRecipeRequest & WithParentImage(ParentImageT &&value)
const AdditionalInstanceConfiguration & GetAdditionalInstanceConfiguration() const
CreateImageRecipeRequest & AddComponents(ComponentsT &&value)
AWS_IMAGEBUILDER_API CreateImageRecipeRequest()=default
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
CreateImageRecipeRequest & WithAmiWatermarks(AmiWatermarksT &&value)
void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
CreateImageRecipeRequest & AddAmiWatermarks(AmiWatermarksT &&value)
CreateImageRecipeRequest & WithWorkingDirectory(WorkingDirectoryT &&value)
CreateImageRecipeRequest & WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
CreateImageRecipeRequest & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAmiTags() const
CreateImageRecipeRequest & AddAmiTags(AmiTagsKeyT &&key, AmiTagsValueT &&value)
CreateImageRecipeRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateImageRecipeRequest & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override
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