AWS SDK for C++

AWS SDK for C++ Version 1.11.717

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
41 inline const Aws::String& GetName() const { return m_name; }
42 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
43 template <typename NameT = Aws::String>
44 void SetName(NameT&& value) {
45 m_nameHasBeenSet = true;
46 m_name = std::forward<NameT>(value);
47 }
48 template <typename NameT = Aws::String>
50 SetName(std::forward<NameT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::String& GetDescription() const { return m_description; }
60 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
61 template <typename DescriptionT = Aws::String>
62 void SetDescription(DescriptionT&& value) {
63 m_descriptionHasBeenSet = true;
64 m_description = std::forward<DescriptionT>(value);
65 }
66 template <typename DescriptionT = Aws::String>
68 SetDescription(std::forward<DescriptionT>(value));
69 return *this;
70 }
72
74
87 inline const Aws::String& GetSemanticVersion() const { return m_semanticVersion; }
88 inline bool SemanticVersionHasBeenSet() const { return m_semanticVersionHasBeenSet; }
89 template <typename SemanticVersionT = Aws::String>
90 void SetSemanticVersion(SemanticVersionT&& value) {
91 m_semanticVersionHasBeenSet = true;
92 m_semanticVersion = std::forward<SemanticVersionT>(value);
93 }
94 template <typename SemanticVersionT = Aws::String>
95 CreateImageRecipeRequest& WithSemanticVersion(SemanticVersionT&& value) {
96 SetSemanticVersion(std::forward<SemanticVersionT>(value));
97 return *this;
98 }
100
102
105 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
106 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
107 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
108 void SetComponents(ComponentsT&& value) {
109 m_componentsHasBeenSet = true;
110 m_components = std::forward<ComponentsT>(value);
111 }
112 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
114 SetComponents(std::forward<ComponentsT>(value));
115 return *this;
116 }
117 template <typename ComponentsT = ComponentConfiguration>
119 m_componentsHasBeenSet = true;
120 m_components.emplace_back(std::forward<ComponentsT>(value));
121 return *this;
122 }
124
126
136 inline const Aws::String& GetParentImage() const { return m_parentImage; }
137 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
138 template <typename ParentImageT = Aws::String>
139 void SetParentImage(ParentImageT&& value) {
140 m_parentImageHasBeenSet = true;
141 m_parentImage = std::forward<ParentImageT>(value);
142 }
143 template <typename ParentImageT = Aws::String>
145 SetParentImage(std::forward<ParentImageT>(value));
146 return *this;
147 }
149
151
154 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
155 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
156 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
157 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
158 m_blockDeviceMappingsHasBeenSet = true;
159 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
160 }
161 template <typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
162 CreateImageRecipeRequest& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
163 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
164 return *this;
165 }
166 template <typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
167 CreateImageRecipeRequest& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
168 m_blockDeviceMappingsHasBeenSet = true;
169 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
170 return *this;
171 }
173
175
178 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
179 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
180 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
181 void SetTags(TagsT&& value) {
182 m_tagsHasBeenSet = true;
183 m_tags = std::forward<TagsT>(value);
184 }
185 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
187 SetTags(std::forward<TagsT>(value));
188 return *this;
189 }
190 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
191 CreateImageRecipeRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
192 m_tagsHasBeenSet = true;
193 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
194 return *this;
195 }
197
199
202 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
203 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
204 template <typename WorkingDirectoryT = Aws::String>
205 void SetWorkingDirectory(WorkingDirectoryT&& value) {
206 m_workingDirectoryHasBeenSet = true;
207 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
208 }
209 template <typename WorkingDirectoryT = Aws::String>
210 CreateImageRecipeRequest& WithWorkingDirectory(WorkingDirectoryT&& value) {
211 SetWorkingDirectory(std::forward<WorkingDirectoryT>(value));
212 return *this;
213 }
215
217
220 inline const AdditionalInstanceConfiguration& GetAdditionalInstanceConfiguration() const { return m_additionalInstanceConfiguration; }
221 inline bool AdditionalInstanceConfigurationHasBeenSet() const { return m_additionalInstanceConfigurationHasBeenSet; }
222 template <typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
223 void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) {
224 m_additionalInstanceConfigurationHasBeenSet = true;
225 m_additionalInstanceConfiguration = std::forward<AdditionalInstanceConfigurationT>(value);
226 }
227 template <typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
228 CreateImageRecipeRequest& WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) {
229 SetAdditionalInstanceConfiguration(std::forward<AdditionalInstanceConfigurationT>(value));
230 return *this;
231 }
233
235
239 inline const Aws::Map<Aws::String, Aws::String>& GetAmiTags() const { return m_amiTags; }
240 inline bool AmiTagsHasBeenSet() const { return m_amiTagsHasBeenSet; }
241 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
242 void SetAmiTags(AmiTagsT&& value) {
243 m_amiTagsHasBeenSet = true;
244 m_amiTags = std::forward<AmiTagsT>(value);
245 }
246 template <typename AmiTagsT = Aws::Map<Aws::String, Aws::String>>
248 SetAmiTags(std::forward<AmiTagsT>(value));
249 return *this;
250 }
251 template <typename AmiTagsKeyT = Aws::String, typename AmiTagsValueT = Aws::String>
252 CreateImageRecipeRequest& AddAmiTags(AmiTagsKeyT&& key, AmiTagsValueT&& value) {
253 m_amiTagsHasBeenSet = true;
254 m_amiTags.emplace(std::forward<AmiTagsKeyT>(key), std::forward<AmiTagsValueT>(value));
255 return *this;
256 }
258
260
266 inline const Aws::String& GetClientToken() const { return m_clientToken; }
267 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
268 template <typename ClientTokenT = Aws::String>
269 void SetClientToken(ClientTokenT&& value) {
270 m_clientTokenHasBeenSet = true;
271 m_clientToken = std::forward<ClientTokenT>(value);
272 }
273 template <typename ClientTokenT = Aws::String>
275 SetClientToken(std::forward<ClientTokenT>(value));
276 return *this;
277 }
279 private:
280 Aws::String m_name;
281
282 Aws::String m_description;
283
284 Aws::String m_semanticVersion;
285
287
288 Aws::String m_parentImage;
289
290 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
291
293
294 Aws::String m_workingDirectory;
295
296 AdditionalInstanceConfiguration m_additionalInstanceConfiguration;
297
299
301 bool m_nameHasBeenSet = false;
302 bool m_descriptionHasBeenSet = false;
303 bool m_semanticVersionHasBeenSet = false;
304 bool m_componentsHasBeenSet = false;
305 bool m_parentImageHasBeenSet = false;
306 bool m_blockDeviceMappingsHasBeenSet = false;
307 bool m_tagsHasBeenSet = false;
308 bool m_workingDirectoryHasBeenSet = false;
309 bool m_additionalInstanceConfigurationHasBeenSet = false;
310 bool m_amiTagsHasBeenSet = false;
311 bool m_clientTokenHasBeenSet = true;
312};
313
314} // namespace Model
315} // namespace imagebuilder
316} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
CreateImageRecipeRequest & WithClientToken(ClientTokenT &&value)
CreateImageRecipeRequest & WithTags(TagsT &&value)
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
void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&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