AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateContainerRecipeRequest.h
1
6#pragma once
7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/imagebuilder/ImagebuilderRequest.h>
9#include <aws/imagebuilder/model/ContainerType.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/imagebuilder/model/InstanceConfiguration.h>
13#include <aws/imagebuilder/model/Platform.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/imagebuilder/model/TargetContainerRepository.h>
16#include <aws/imagebuilder/model/ComponentConfiguration.h>
17#include <utility>
18#include <aws/core/utils/UUID.h>
19
20namespace Aws
21{
22namespace imagebuilder
23{
24namespace Model
25{
26
30 {
31 public:
32 AWS_IMAGEBUILDER_API CreateContainerRecipeRequest() = default;
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "CreateContainerRecipe"; }
39
40 AWS_IMAGEBUILDER_API Aws::String SerializePayload() const override;
41
42
44
47 inline ContainerType GetContainerType() const { return m_containerType; }
48 inline bool ContainerTypeHasBeenSet() const { return m_containerTypeHasBeenSet; }
49 inline void SetContainerType(ContainerType value) { m_containerTypeHasBeenSet = true; m_containerType = value; }
52
54
57 inline const Aws::String& GetName() const { return m_name; }
58 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
59 template<typename NameT = Aws::String>
60 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
61 template<typename NameT = Aws::String>
62 CreateContainerRecipeRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
64
66
69 inline const Aws::String& GetDescription() const { return m_description; }
70 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
71 template<typename DescriptionT = Aws::String>
72 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
73 template<typename DescriptionT = Aws::String>
74 CreateContainerRecipeRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
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) { m_semanticVersionHasBeenSet = true; m_semanticVersion = std::forward<SemanticVersionT>(value); }
95 template<typename SemanticVersionT = Aws::String>
96 CreateContainerRecipeRequest& WithSemanticVersion(SemanticVersionT&& value) { SetSemanticVersion(std::forward<SemanticVersionT>(value)); return *this;}
98
100
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) { m_componentsHasBeenSet = true; m_components = std::forward<ComponentsT>(value); }
109 template<typename ComponentsT = Aws::Vector<ComponentConfiguration>>
110 CreateContainerRecipeRequest& WithComponents(ComponentsT&& value) { SetComponents(std::forward<ComponentsT>(value)); return *this;}
111 template<typename ComponentsT = ComponentConfiguration>
112 CreateContainerRecipeRequest& AddComponents(ComponentsT&& value) { m_componentsHasBeenSet = true; m_components.emplace_back(std::forward<ComponentsT>(value)); return *this; }
114
116
120 inline const InstanceConfiguration& GetInstanceConfiguration() const { return m_instanceConfiguration; }
121 inline bool InstanceConfigurationHasBeenSet() const { return m_instanceConfigurationHasBeenSet; }
122 template<typename InstanceConfigurationT = InstanceConfiguration>
123 void SetInstanceConfiguration(InstanceConfigurationT&& value) { m_instanceConfigurationHasBeenSet = true; m_instanceConfiguration = std::forward<InstanceConfigurationT>(value); }
124 template<typename InstanceConfigurationT = InstanceConfiguration>
125 CreateContainerRecipeRequest& WithInstanceConfiguration(InstanceConfigurationT&& value) { SetInstanceConfiguration(std::forward<InstanceConfigurationT>(value)); return *this;}
127
129
132 inline const Aws::String& GetDockerfileTemplateData() const { return m_dockerfileTemplateData; }
133 inline bool DockerfileTemplateDataHasBeenSet() const { return m_dockerfileTemplateDataHasBeenSet; }
134 template<typename DockerfileTemplateDataT = Aws::String>
135 void SetDockerfileTemplateData(DockerfileTemplateDataT&& value) { m_dockerfileTemplateDataHasBeenSet = true; m_dockerfileTemplateData = std::forward<DockerfileTemplateDataT>(value); }
136 template<typename DockerfileTemplateDataT = Aws::String>
137 CreateContainerRecipeRequest& WithDockerfileTemplateData(DockerfileTemplateDataT&& value) { SetDockerfileTemplateData(std::forward<DockerfileTemplateDataT>(value)); return *this;}
139
141
145 inline const Aws::String& GetDockerfileTemplateUri() const { return m_dockerfileTemplateUri; }
146 inline bool DockerfileTemplateUriHasBeenSet() const { return m_dockerfileTemplateUriHasBeenSet; }
147 template<typename DockerfileTemplateUriT = Aws::String>
148 void SetDockerfileTemplateUri(DockerfileTemplateUriT&& value) { m_dockerfileTemplateUriHasBeenSet = true; m_dockerfileTemplateUri = std::forward<DockerfileTemplateUriT>(value); }
149 template<typename DockerfileTemplateUriT = Aws::String>
150 CreateContainerRecipeRequest& WithDockerfileTemplateUri(DockerfileTemplateUriT&& value) { SetDockerfileTemplateUri(std::forward<DockerfileTemplateUriT>(value)); return *this;}
152
154
157 inline Platform GetPlatformOverride() const { return m_platformOverride; }
158 inline bool PlatformOverrideHasBeenSet() const { return m_platformOverrideHasBeenSet; }
159 inline void SetPlatformOverride(Platform value) { m_platformOverrideHasBeenSet = true; m_platformOverride = value; }
162
164
167 inline const Aws::String& GetImageOsVersionOverride() const { return m_imageOsVersionOverride; }
168 inline bool ImageOsVersionOverrideHasBeenSet() const { return m_imageOsVersionOverrideHasBeenSet; }
169 template<typename ImageOsVersionOverrideT = Aws::String>
170 void SetImageOsVersionOverride(ImageOsVersionOverrideT&& value) { m_imageOsVersionOverrideHasBeenSet = true; m_imageOsVersionOverride = std::forward<ImageOsVersionOverrideT>(value); }
171 template<typename ImageOsVersionOverrideT = Aws::String>
172 CreateContainerRecipeRequest& WithImageOsVersionOverride(ImageOsVersionOverrideT&& value) { SetImageOsVersionOverride(std::forward<ImageOsVersionOverrideT>(value)); return *this;}
174
176
179 inline const Aws::String& GetParentImage() const { return m_parentImage; }
180 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
181 template<typename ParentImageT = Aws::String>
182 void SetParentImage(ParentImageT&& value) { m_parentImageHasBeenSet = true; m_parentImage = std::forward<ParentImageT>(value); }
183 template<typename ParentImageT = Aws::String>
184 CreateContainerRecipeRequest& WithParentImage(ParentImageT&& value) { SetParentImage(std::forward<ParentImageT>(value)); return *this;}
186
188
191 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
192 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
193 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
194 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
195 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
196 CreateContainerRecipeRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
197 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
198 CreateContainerRecipeRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
199 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
200 }
202
204
207 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
208 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
209 template<typename WorkingDirectoryT = Aws::String>
210 void SetWorkingDirectory(WorkingDirectoryT&& value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory = std::forward<WorkingDirectoryT>(value); }
211 template<typename WorkingDirectoryT = Aws::String>
212 CreateContainerRecipeRequest& WithWorkingDirectory(WorkingDirectoryT&& value) { SetWorkingDirectory(std::forward<WorkingDirectoryT>(value)); return *this;}
214
216
219 inline const TargetContainerRepository& GetTargetRepository() const { return m_targetRepository; }
220 inline bool TargetRepositoryHasBeenSet() const { return m_targetRepositoryHasBeenSet; }
221 template<typename TargetRepositoryT = TargetContainerRepository>
222 void SetTargetRepository(TargetRepositoryT&& value) { m_targetRepositoryHasBeenSet = true; m_targetRepository = std::forward<TargetRepositoryT>(value); }
223 template<typename TargetRepositoryT = TargetContainerRepository>
224 CreateContainerRecipeRequest& WithTargetRepository(TargetRepositoryT&& value) { SetTargetRepository(std::forward<TargetRepositoryT>(value)); return *this;}
226
228
231 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
232 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
233 template<typename KmsKeyIdT = Aws::String>
234 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
235 template<typename KmsKeyIdT = Aws::String>
236 CreateContainerRecipeRequest& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
238
240
246 inline const Aws::String& GetClientToken() const { return m_clientToken; }
247 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
248 template<typename ClientTokenT = Aws::String>
249 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
250 template<typename ClientTokenT = Aws::String>
251 CreateContainerRecipeRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
253 private:
254
255 ContainerType m_containerType{ContainerType::NOT_SET};
256 bool m_containerTypeHasBeenSet = false;
257
258 Aws::String m_name;
259 bool m_nameHasBeenSet = false;
260
261 Aws::String m_description;
262 bool m_descriptionHasBeenSet = false;
263
264 Aws::String m_semanticVersion;
265 bool m_semanticVersionHasBeenSet = false;
266
268 bool m_componentsHasBeenSet = false;
269
270 InstanceConfiguration m_instanceConfiguration;
271 bool m_instanceConfigurationHasBeenSet = false;
272
273 Aws::String m_dockerfileTemplateData;
274 bool m_dockerfileTemplateDataHasBeenSet = false;
275
276 Aws::String m_dockerfileTemplateUri;
277 bool m_dockerfileTemplateUriHasBeenSet = false;
278
279 Platform m_platformOverride{Platform::NOT_SET};
280 bool m_platformOverrideHasBeenSet = false;
281
282 Aws::String m_imageOsVersionOverride;
283 bool m_imageOsVersionOverrideHasBeenSet = false;
284
285 Aws::String m_parentImage;
286 bool m_parentImageHasBeenSet = false;
287
289 bool m_tagsHasBeenSet = false;
290
291 Aws::String m_workingDirectory;
292 bool m_workingDirectoryHasBeenSet = false;
293
294 TargetContainerRepository m_targetRepository;
295 bool m_targetRepositoryHasBeenSet = false;
296
297 Aws::String m_kmsKeyId;
298 bool m_kmsKeyIdHasBeenSet = false;
299
301 bool m_clientTokenHasBeenSet = true;
302 };
303
304} // namespace Model
305} // namespace imagebuilder
306} // 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