AWS SDK for C++

AWS SDK for C++ Version 1.11.901

Loading...
Searching...
No Matches
ContainerRecipe.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/ComponentConfiguration.h>
12#include <aws/imagebuilder/model/ContainerType.h>
13#include <aws/imagebuilder/model/InstanceConfiguration.h>
14#include <aws/imagebuilder/model/Platform.h>
15#include <aws/imagebuilder/model/TargetContainerRepository.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
38 public:
39 AWS_IMAGEBUILDER_API ContainerRecipe() = default;
40 AWS_IMAGEBUILDER_API ContainerRecipe(Aws::Utils::Json::JsonView jsonValue);
41 AWS_IMAGEBUILDER_API ContainerRecipe& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
56 inline const Aws::String& GetArn() const { return m_arn; }
57 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
58 template <typename ArnT = Aws::String>
59 void SetArn(ArnT&& value) {
60 m_arnHasBeenSet = true;
61 m_arn = std::forward<ArnT>(value);
62 }
63 template <typename ArnT = Aws::String>
64 ContainerRecipe& WithArn(ArnT&& value) {
65 SetArn(std::forward<ArnT>(value));
66 return *this;
67 }
69
71
74 inline ContainerType GetContainerType() const { return m_containerType; }
75 inline bool ContainerTypeHasBeenSet() const { return m_containerTypeHasBeenSet; }
76 inline void SetContainerType(ContainerType value) {
77 m_containerTypeHasBeenSet = true;
78 m_containerType = value;
79 }
81 SetContainerType(value);
82 return *this;
83 }
85
87
90 inline const Aws::String& GetName() const { return m_name; }
91 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
92 template <typename NameT = Aws::String>
93 void SetName(NameT&& value) {
94 m_nameHasBeenSet = true;
95 m_name = std::forward<NameT>(value);
96 }
97 template <typename NameT = Aws::String>
98 ContainerRecipe& WithName(NameT&& value) {
99 SetName(std::forward<NameT>(value));
100 return *this;
101 }
103
105
108 inline const Aws::String& GetDescription() const { return m_description; }
109 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
110 template <typename DescriptionT = Aws::String>
111 void SetDescription(DescriptionT&& value) {
112 m_descriptionHasBeenSet = true;
113 m_description = std::forward<DescriptionT>(value);
114 }
115 template <typename DescriptionT = Aws::String>
116 ContainerRecipe& WithDescription(DescriptionT&& value) {
117 SetDescription(std::forward<DescriptionT>(value));
118 return *this;
119 }
121
123
127 inline Platform GetPlatform() const { return m_platform; }
128 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
129 inline void SetPlatform(Platform value) {
130 m_platformHasBeenSet = true;
131 m_platform = value;
132 }
134 SetPlatform(value);
135 return *this;
136 }
138
140
143 inline const Aws::String& GetOwner() const { return m_owner; }
144 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
145 template <typename OwnerT = Aws::String>
146 void SetOwner(OwnerT&& value) {
147 m_ownerHasBeenSet = true;
148 m_owner = std::forward<OwnerT>(value);
149 }
150 template <typename OwnerT = Aws::String>
151 ContainerRecipe& WithOwner(OwnerT&& value) {
152 SetOwner(std::forward<OwnerT>(value));
153 return *this;
154 }
156
158
173 inline const Aws::String& GetVersion() const { return m_version; }
174 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
175 template <typename VersionT = Aws::String>
176 void SetVersion(VersionT&& value) {
177 m_versionHasBeenSet = true;
178 m_version = std::forward<VersionT>(value);
179 }
180 template <typename VersionT = Aws::String>
181 ContainerRecipe& WithVersion(VersionT&& value) {
182 SetVersion(std::forward<VersionT>(value));
183 return *this;
184 }
186
188
196 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
197 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
198 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
199 void SetComponents(ComponentsT&& value) {
200 m_componentsHasBeenSet = true;
201 m_components = std::forward<ComponentsT>(value);
202 }
203 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
204 ContainerRecipe& WithComponents(ComponentsT&& value) {
205 SetComponents(std::forward<ComponentsT>(value));
206 return *this;
207 }
208 template <typename ComponentsT = ComponentConfiguration>
209 ContainerRecipe& AddComponents(ComponentsT&& value) {
210 m_componentsHasBeenSet = true;
211 m_components.emplace_back(std::forward<ComponentsT>(value));
212 return *this;
213 }
215
217
221 inline const InstanceConfiguration& GetInstanceConfiguration() const { return m_instanceConfiguration; }
222 inline bool InstanceConfigurationHasBeenSet() const { return m_instanceConfigurationHasBeenSet; }
223 template <typename InstanceConfigurationT = InstanceConfiguration>
224 void SetInstanceConfiguration(InstanceConfigurationT&& value) {
225 m_instanceConfigurationHasBeenSet = true;
226 m_instanceConfiguration = std::forward<InstanceConfigurationT>(value);
227 }
228 template <typename InstanceConfigurationT = InstanceConfiguration>
229 ContainerRecipe& WithInstanceConfiguration(InstanceConfigurationT&& value) {
230 SetInstanceConfiguration(std::forward<InstanceConfigurationT>(value));
231 return *this;
232 }
234
236
245 inline const Aws::String& GetDockerfileTemplateData() const { return m_dockerfileTemplateData; }
246 inline bool DockerfileTemplateDataHasBeenSet() const { return m_dockerfileTemplateDataHasBeenSet; }
247 template <typename DockerfileTemplateDataT = Aws::String>
248 void SetDockerfileTemplateData(DockerfileTemplateDataT&& value) {
249 m_dockerfileTemplateDataHasBeenSet = true;
250 m_dockerfileTemplateData = std::forward<DockerfileTemplateDataT>(value);
251 }
252 template <typename DockerfileTemplateDataT = Aws::String>
253 ContainerRecipe& WithDockerfileTemplateData(DockerfileTemplateDataT&& value) {
254 SetDockerfileTemplateData(std::forward<DockerfileTemplateDataT>(value));
255 return *this;
256 }
258
260
270 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
271 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
272 template <typename KmsKeyIdT = Aws::String>
273 void SetKmsKeyId(KmsKeyIdT&& value) {
274 m_kmsKeyIdHasBeenSet = true;
275 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
276 }
277 template <typename KmsKeyIdT = Aws::String>
278 ContainerRecipe& WithKmsKeyId(KmsKeyIdT&& value) {
279 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
280 return *this;
281 }
283
285
291 inline bool GetEncrypted() const { return m_encrypted; }
292 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
293 inline void SetEncrypted(bool value) {
294 m_encryptedHasBeenSet = true;
295 m_encrypted = value;
296 }
297 inline ContainerRecipe& WithEncrypted(bool value) {
298 SetEncrypted(value);
299 return *this;
300 }
302
304
309 inline const Aws::String& GetParentImage() const { return m_parentImage; }
310 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
311 template <typename ParentImageT = Aws::String>
312 void SetParentImage(ParentImageT&& value) {
313 m_parentImageHasBeenSet = true;
314 m_parentImage = std::forward<ParentImageT>(value);
315 }
316 template <typename ParentImageT = Aws::String>
317 ContainerRecipe& WithParentImage(ParentImageT&& value) {
318 SetParentImage(std::forward<ParentImageT>(value));
319 return *this;
320 }
322
324
327 inline const Aws::String& GetDateCreated() const { return m_dateCreated; }
328 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
329 template <typename DateCreatedT = Aws::String>
330 void SetDateCreated(DateCreatedT&& value) {
331 m_dateCreatedHasBeenSet = true;
332 m_dateCreated = std::forward<DateCreatedT>(value);
333 }
334 template <typename DateCreatedT = Aws::String>
335 ContainerRecipe& WithDateCreated(DateCreatedT&& value) {
336 SetDateCreated(std::forward<DateCreatedT>(value));
337 return *this;
338 }
340
342
345 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
346 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
347 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
348 void SetTags(TagsT&& value) {
349 m_tagsHasBeenSet = true;
350 m_tags = std::forward<TagsT>(value);
351 }
352 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
353 ContainerRecipe& WithTags(TagsT&& value) {
354 SetTags(std::forward<TagsT>(value));
355 return *this;
356 }
357 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
358 ContainerRecipe& AddTags(TagsKeyT&& key, TagsValueT&& value) {
359 m_tagsHasBeenSet = true;
360 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
361 return *this;
362 }
364
366
369 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
370 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
371 template <typename WorkingDirectoryT = Aws::String>
372 void SetWorkingDirectory(WorkingDirectoryT&& value) {
373 m_workingDirectoryHasBeenSet = true;
374 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
375 }
376 template <typename WorkingDirectoryT = Aws::String>
377 ContainerRecipe& WithWorkingDirectory(WorkingDirectoryT&& value) {
378 SetWorkingDirectory(std::forward<WorkingDirectoryT>(value));
379 return *this;
380 }
382
384
387 inline const TargetContainerRepository& GetTargetRepository() const { return m_targetRepository; }
388 inline bool TargetRepositoryHasBeenSet() const { return m_targetRepositoryHasBeenSet; }
389 template <typename TargetRepositoryT = TargetContainerRepository>
390 void SetTargetRepository(TargetRepositoryT&& value) {
391 m_targetRepositoryHasBeenSet = true;
392 m_targetRepository = std::forward<TargetRepositoryT>(value);
393 }
394 template <typename TargetRepositoryT = TargetContainerRepository>
395 ContainerRecipe& WithTargetRepository(TargetRepositoryT&& value) {
396 SetTargetRepository(std::forward<TargetRepositoryT>(value));
397 return *this;
398 }
400 private:
401 Aws::String m_arn;
402
403 ContainerType m_containerType{ContainerType::NOT_SET};
404
405 Aws::String m_name;
406
407 Aws::String m_description;
408
409 Platform m_platform{Platform::NOT_SET};
410
411 Aws::String m_owner;
412
413 Aws::String m_version;
414
416
417 InstanceConfiguration m_instanceConfiguration;
418
419 Aws::String m_dockerfileTemplateData;
420
421 Aws::String m_kmsKeyId;
422
423 bool m_encrypted{false};
424
425 Aws::String m_parentImage;
426
427 Aws::String m_dateCreated;
428
430
431 Aws::String m_workingDirectory;
432
433 TargetContainerRepository m_targetRepository;
434 bool m_arnHasBeenSet = false;
435 bool m_containerTypeHasBeenSet = false;
436 bool m_nameHasBeenSet = false;
437 bool m_descriptionHasBeenSet = false;
438 bool m_platformHasBeenSet = false;
439 bool m_ownerHasBeenSet = false;
440 bool m_versionHasBeenSet = false;
441 bool m_componentsHasBeenSet = false;
442 bool m_instanceConfigurationHasBeenSet = false;
443 bool m_dockerfileTemplateDataHasBeenSet = false;
444 bool m_kmsKeyIdHasBeenSet = false;
445 bool m_encryptedHasBeenSet = false;
446 bool m_parentImageHasBeenSet = false;
447 bool m_dateCreatedHasBeenSet = false;
448 bool m_tagsHasBeenSet = false;
449 bool m_workingDirectoryHasBeenSet = false;
450 bool m_targetRepositoryHasBeenSet = false;
451};
452
453} // namespace Model
454} // namespace imagebuilder
455} // namespace Aws
ContainerRecipe & AddTags(TagsKeyT &&key, TagsValueT &&value)
ContainerRecipe & AddComponents(ComponentsT &&value)
AWS_IMAGEBUILDER_API ContainerRecipe(Aws::Utils::Json::JsonView jsonValue)
const InstanceConfiguration & GetInstanceConfiguration() const
ContainerRecipe & WithDescription(DescriptionT &&value)
void SetContainerType(ContainerType value)
ContainerRecipe & WithDockerfileTemplateData(DockerfileTemplateDataT &&value)
const Aws::String & GetDescription() const
ContainerRecipe & WithTargetRepository(TargetRepositoryT &&value)
void SetInstanceConfiguration(InstanceConfigurationT &&value)
ContainerRecipe & WithArn(ArnT &&value)
ContainerRecipe & WithParentImage(ParentImageT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ContainerRecipe & WithDateCreated(DateCreatedT &&value)
void SetWorkingDirectory(WorkingDirectoryT &&value)
const TargetContainerRepository & GetTargetRepository() const
AWS_IMAGEBUILDER_API ContainerRecipe & operator=(Aws::Utils::Json::JsonView jsonValue)
ContainerRecipe & WithOwner(OwnerT &&value)
const Aws::String & GetKmsKeyId() const
const Aws::String & GetParentImage() const
void SetDateCreated(DateCreatedT &&value)
ContainerRecipe & WithWorkingDirectory(WorkingDirectoryT &&value)
const Aws::String & GetDockerfileTemplateData() const
ContainerRecipe & WithKmsKeyId(KmsKeyIdT &&value)
void SetTargetRepository(TargetRepositoryT &&value)
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
ContainerRecipe & WithTags(TagsT &&value)
ContainerRecipe & WithVersion(VersionT &&value)
ContainerRecipe & WithEncrypted(bool value)
ContainerRecipe & WithComponents(ComponentsT &&value)
const Aws::String & GetWorkingDirectory() const
void SetDockerfileTemplateData(DockerfileTemplateDataT &&value)
ContainerRecipe & WithContainerType(ContainerType value)
ContainerRecipe & WithInstanceConfiguration(InstanceConfigurationT &&value)
ContainerRecipe & WithName(NameT &&value)
const Aws::Vector< ComponentConfiguration > & GetComponents() const
ContainerRecipe & WithPlatform(Platform value)
AWS_IMAGEBUILDER_API ContainerRecipe()=default
void SetDescription(DescriptionT &&value)
void SetParentImage(ParentImageT &&value)
const Aws::String & GetDateCreated() const
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