AWS SDK for C++

AWS SDK for C++ Version 1.11.909

Loading...
Searching...
No Matches
CreateContainerRecipeRequest.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/ComponentConfiguration.h>
14#include <aws/imagebuilder/model/ContainerType.h>
15#include <aws/imagebuilder/model/InstanceConfiguration.h>
16#include <aws/imagebuilder/model/Platform.h>
17#include <aws/imagebuilder/model/TargetContainerRepository.h>
18
19#include <utility>
20
21namespace Aws {
22namespace imagebuilder {
23namespace Model {
24
28 public:
29 AWS_IMAGEBUILDER_API CreateContainerRecipeRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "CreateContainerRecipe"; }
36
37 AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override;
38
40
43 inline ContainerType GetContainerType() const { return m_containerType; }
44 inline bool ContainerTypeHasBeenSet() const { return m_containerTypeHasBeenSet; }
45 inline void SetContainerType(ContainerType value) {
46 m_containerTypeHasBeenSet = true;
47 m_containerType = value;
48 }
50 SetContainerType(value);
51 return *this;
52 }
54
56
63 inline const Aws::String& GetName() const { return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 template <typename NameT = Aws::String>
66 void SetName(NameT&& value) {
67 m_nameHasBeenSet = true;
68 m_name = std::forward<NameT>(value);
69 }
70 template <typename NameT = Aws::String>
72 SetName(std::forward<NameT>(value));
73 return *this;
74 }
76
78
81 inline const Aws::String& GetDescription() const { return m_description; }
82 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
83 template <typename DescriptionT = Aws::String>
84 void SetDescription(DescriptionT&& value) {
85 m_descriptionHasBeenSet = true;
86 m_description = std::forward<DescriptionT>(value);
87 }
88 template <typename DescriptionT = Aws::String>
90 SetDescription(std::forward<DescriptionT>(value));
91 return *this;
92 }
94
96
109 inline const Aws::String& GetSemanticVersion() const { return m_semanticVersion; }
110 inline bool SemanticVersionHasBeenSet() const { return m_semanticVersionHasBeenSet; }
111 template <typename SemanticVersionT = Aws::String>
112 void SetSemanticVersion(SemanticVersionT&& value) {
113 m_semanticVersionHasBeenSet = true;
114 m_semanticVersion = std::forward<SemanticVersionT>(value);
115 }
116 template <typename SemanticVersionT = Aws::String>
118 SetSemanticVersion(std::forward<SemanticVersionT>(value));
119 return *this;
120 }
122
124
128 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
129 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
130 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
131 void SetComponents(ComponentsT&& value) {
132 m_componentsHasBeenSet = true;
133 m_components = std::forward<ComponentsT>(value);
134 }
135 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
137 SetComponents(std::forward<ComponentsT>(value));
138 return *this;
139 }
140 template <typename ComponentsT = ComponentConfiguration>
142 m_componentsHasBeenSet = true;
143 m_components.emplace_back(std::forward<ComponentsT>(value));
144 return *this;
145 }
147
149
153 inline const InstanceConfiguration& GetInstanceConfiguration() const { return m_instanceConfiguration; }
154 inline bool InstanceConfigurationHasBeenSet() const { return m_instanceConfigurationHasBeenSet; }
155 template <typename InstanceConfigurationT = InstanceConfiguration>
156 void SetInstanceConfiguration(InstanceConfigurationT&& value) {
157 m_instanceConfigurationHasBeenSet = true;
158 m_instanceConfiguration = std::forward<InstanceConfigurationT>(value);
159 }
160 template <typename InstanceConfigurationT = InstanceConfiguration>
162 SetInstanceConfiguration(std::forward<InstanceConfigurationT>(value));
163 return *this;
164 }
166
168
177 inline const Aws::String& GetDockerfileTemplateData() const { return m_dockerfileTemplateData; }
178 inline bool DockerfileTemplateDataHasBeenSet() const { return m_dockerfileTemplateDataHasBeenSet; }
179 template <typename DockerfileTemplateDataT = Aws::String>
180 void SetDockerfileTemplateData(DockerfileTemplateDataT&& value) {
181 m_dockerfileTemplateDataHasBeenSet = true;
182 m_dockerfileTemplateData = std::forward<DockerfileTemplateDataT>(value);
183 }
184 template <typename DockerfileTemplateDataT = Aws::String>
186 SetDockerfileTemplateData(std::forward<DockerfileTemplateDataT>(value));
187 return *this;
188 }
190
192
200 inline const Aws::String& GetDockerfileTemplateUri() const { return m_dockerfileTemplateUri; }
201 inline bool DockerfileTemplateUriHasBeenSet() const { return m_dockerfileTemplateUriHasBeenSet; }
202 template <typename DockerfileTemplateUriT = Aws::String>
203 void SetDockerfileTemplateUri(DockerfileTemplateUriT&& value) {
204 m_dockerfileTemplateUriHasBeenSet = true;
205 m_dockerfileTemplateUri = std::forward<DockerfileTemplateUriT>(value);
206 }
207 template <typename DockerfileTemplateUriT = Aws::String>
209 SetDockerfileTemplateUri(std::forward<DockerfileTemplateUriT>(value));
210 return *this;
211 }
213
215
219 inline Platform GetPlatformOverride() const { return m_platformOverride; }
220 inline bool PlatformOverrideHasBeenSet() const { return m_platformOverrideHasBeenSet; }
221 inline void SetPlatformOverride(Platform value) {
222 m_platformOverrideHasBeenSet = true;
223 m_platformOverride = value;
224 }
226 SetPlatformOverride(value);
227 return *this;
228 }
230
232
238 inline const Aws::String& GetImageOsVersionOverride() const { return m_imageOsVersionOverride; }
239 inline bool ImageOsVersionOverrideHasBeenSet() const { return m_imageOsVersionOverrideHasBeenSet; }
240 template <typename ImageOsVersionOverrideT = Aws::String>
241 void SetImageOsVersionOverride(ImageOsVersionOverrideT&& value) {
242 m_imageOsVersionOverrideHasBeenSet = true;
243 m_imageOsVersionOverride = std::forward<ImageOsVersionOverrideT>(value);
244 }
245 template <typename ImageOsVersionOverrideT = Aws::String>
247 SetImageOsVersionOverride(std::forward<ImageOsVersionOverrideT>(value));
248 return *this;
249 }
251
253
258 inline const Aws::String& GetParentImage() const { return m_parentImage; }
259 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
260 template <typename ParentImageT = Aws::String>
261 void SetParentImage(ParentImageT&& value) {
262 m_parentImageHasBeenSet = true;
263 m_parentImage = std::forward<ParentImageT>(value);
264 }
265 template <typename ParentImageT = Aws::String>
267 SetParentImage(std::forward<ParentImageT>(value));
268 return *this;
269 }
271
273
276 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
277 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
278 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
279 void SetTags(TagsT&& value) {
280 m_tagsHasBeenSet = true;
281 m_tags = std::forward<TagsT>(value);
282 }
283 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
285 SetTags(std::forward<TagsT>(value));
286 return *this;
287 }
288 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
289 CreateContainerRecipeRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
290 m_tagsHasBeenSet = true;
291 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
292 return *this;
293 }
295
297
300 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
301 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
302 template <typename WorkingDirectoryT = Aws::String>
303 void SetWorkingDirectory(WorkingDirectoryT&& value) {
304 m_workingDirectoryHasBeenSet = true;
305 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
306 }
307 template <typename WorkingDirectoryT = Aws::String>
309 SetWorkingDirectory(std::forward<WorkingDirectoryT>(value));
310 return *this;
311 }
313
315
319 inline const TargetContainerRepository& GetTargetRepository() const { return m_targetRepository; }
320 inline bool TargetRepositoryHasBeenSet() const { return m_targetRepositoryHasBeenSet; }
321 template <typename TargetRepositoryT = TargetContainerRepository>
322 void SetTargetRepository(TargetRepositoryT&& value) {
323 m_targetRepositoryHasBeenSet = true;
324 m_targetRepository = std::forward<TargetRepositoryT>(value);
325 }
326 template <typename TargetRepositoryT = TargetContainerRepository>
328 SetTargetRepository(std::forward<TargetRepositoryT>(value));
329 return *this;
330 }
332
334
342 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
343 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
344 template <typename KmsKeyIdT = Aws::String>
345 void SetKmsKeyId(KmsKeyIdT&& value) {
346 m_kmsKeyIdHasBeenSet = true;
347 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
348 }
349 template <typename KmsKeyIdT = Aws::String>
351 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
352 return *this;
353 }
355
357
365 inline const Aws::String& GetClientToken() const { return m_clientToken; }
366 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
367 template <typename ClientTokenT = Aws::String>
368 void SetClientToken(ClientTokenT&& value) {
369 m_clientTokenHasBeenSet = true;
370 m_clientToken = std::forward<ClientTokenT>(value);
371 }
372 template <typename ClientTokenT = Aws::String>
374 SetClientToken(std::forward<ClientTokenT>(value));
375 return *this;
376 }
378
380
385 inline bool GetDryRun() const { return m_dryRun; }
386 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
387 inline void SetDryRun(bool value) {
388 m_dryRunHasBeenSet = true;
389 m_dryRun = value;
390 }
392 SetDryRun(value);
393 return *this;
394 }
396 private:
397 ContainerType m_containerType{ContainerType::NOT_SET};
398
399 Aws::String m_name;
400
401 Aws::String m_description;
402
403 Aws::String m_semanticVersion;
404
406
407 InstanceConfiguration m_instanceConfiguration;
408
409 Aws::String m_dockerfileTemplateData;
410
411 Aws::String m_dockerfileTemplateUri;
412
413 Platform m_platformOverride{Platform::NOT_SET};
414
415 Aws::String m_imageOsVersionOverride;
416
417 Aws::String m_parentImage;
418
420
421 Aws::String m_workingDirectory;
422
423 TargetContainerRepository m_targetRepository;
424
425 Aws::String m_kmsKeyId;
426
428
429 bool m_dryRun{false};
430 bool m_containerTypeHasBeenSet = false;
431 bool m_nameHasBeenSet = false;
432 bool m_descriptionHasBeenSet = false;
433 bool m_semanticVersionHasBeenSet = false;
434 bool m_componentsHasBeenSet = false;
435 bool m_instanceConfigurationHasBeenSet = false;
436 bool m_dockerfileTemplateDataHasBeenSet = false;
437 bool m_dockerfileTemplateUriHasBeenSet = false;
438 bool m_platformOverrideHasBeenSet = false;
439 bool m_imageOsVersionOverrideHasBeenSet = false;
440 bool m_parentImageHasBeenSet = false;
441 bool m_tagsHasBeenSet = false;
442 bool m_workingDirectoryHasBeenSet = false;
443 bool m_targetRepositoryHasBeenSet = false;
444 bool m_kmsKeyIdHasBeenSet = false;
445 bool m_clientTokenHasBeenSet = true;
446 bool m_dryRunHasBeenSet = false;
447};
448
449} // namespace Model
450} // namespace imagebuilder
451} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
CreateContainerRecipeRequest & WithImageOsVersionOverride(ImageOsVersionOverrideT &&value)
CreateContainerRecipeRequest & WithPlatformOverride(Platform value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const Aws::Vector< ComponentConfiguration > & GetComponents() const
CreateContainerRecipeRequest & WithComponents(ComponentsT &&value)
CreateContainerRecipeRequest & WithDescription(DescriptionT &&value)
CreateContainerRecipeRequest & WithWorkingDirectory(WorkingDirectoryT &&value)
CreateContainerRecipeRequest & WithTargetRepository(TargetRepositoryT &&value)
CreateContainerRecipeRequest & WithClientToken(ClientTokenT &&value)
CreateContainerRecipeRequest & WithInstanceConfiguration(InstanceConfigurationT &&value)
CreateContainerRecipeRequest & WithName(NameT &&value)
CreateContainerRecipeRequest & WithKmsKeyId(KmsKeyIdT &&value)
CreateContainerRecipeRequest & WithDockerfileTemplateData(DockerfileTemplateDataT &&value)
AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override
AWS_IMAGEBUILDER_API CreateContainerRecipeRequest()=default
CreateContainerRecipeRequest & AddComponents(ComponentsT &&value)
CreateContainerRecipeRequest & WithParentImage(ParentImageT &&value)
CreateContainerRecipeRequest & WithSemanticVersion(SemanticVersionT &&value)
CreateContainerRecipeRequest & WithDockerfileTemplateUri(DockerfileTemplateUriT &&value)
CreateContainerRecipeRequest & WithContainerType(ContainerType value)
CreateContainerRecipeRequest & AddTags(TagsKeyT &&key, TagsValueT &&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