AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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
35 public:
36 AWS_IMAGEBUILDER_API ContainerRecipe() = default;
37 AWS_IMAGEBUILDER_API ContainerRecipe(Aws::Utils::Json::JsonView jsonValue);
38 AWS_IMAGEBUILDER_API ContainerRecipe& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
53 inline const Aws::String& GetArn() const { return m_arn; }
54 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
55 template <typename ArnT = Aws::String>
56 void SetArn(ArnT&& value) {
57 m_arnHasBeenSet = true;
58 m_arn = std::forward<ArnT>(value);
59 }
60 template <typename ArnT = Aws::String>
61 ContainerRecipe& WithArn(ArnT&& value) {
62 SetArn(std::forward<ArnT>(value));
63 return *this;
64 }
66
68
71 inline ContainerType GetContainerType() const { return m_containerType; }
72 inline bool ContainerTypeHasBeenSet() const { return m_containerTypeHasBeenSet; }
73 inline void SetContainerType(ContainerType value) {
74 m_containerTypeHasBeenSet = true;
75 m_containerType = value;
76 }
78 SetContainerType(value);
79 return *this;
80 }
82
84
87 inline const Aws::String& GetName() const { return m_name; }
88 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
89 template <typename NameT = Aws::String>
90 void SetName(NameT&& value) {
91 m_nameHasBeenSet = true;
92 m_name = std::forward<NameT>(value);
93 }
94 template <typename NameT = Aws::String>
95 ContainerRecipe& WithName(NameT&& value) {
96 SetName(std::forward<NameT>(value));
97 return *this;
98 }
100
102
105 inline const Aws::String& GetDescription() const { return m_description; }
106 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
107 template <typename DescriptionT = Aws::String>
108 void SetDescription(DescriptionT&& value) {
109 m_descriptionHasBeenSet = true;
110 m_description = std::forward<DescriptionT>(value);
111 }
112 template <typename DescriptionT = Aws::String>
113 ContainerRecipe& WithDescription(DescriptionT&& value) {
114 SetDescription(std::forward<DescriptionT>(value));
115 return *this;
116 }
118
120
123 inline Platform GetPlatform() const { return m_platform; }
124 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
125 inline void SetPlatform(Platform value) {
126 m_platformHasBeenSet = true;
127 m_platform = value;
128 }
130 SetPlatform(value);
131 return *this;
132 }
134
136
139 inline const Aws::String& GetOwner() const { return m_owner; }
140 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
141 template <typename OwnerT = Aws::String>
142 void SetOwner(OwnerT&& value) {
143 m_ownerHasBeenSet = true;
144 m_owner = std::forward<OwnerT>(value);
145 }
146 template <typename OwnerT = Aws::String>
147 ContainerRecipe& WithOwner(OwnerT&& value) {
148 SetOwner(std::forward<OwnerT>(value));
149 return *this;
150 }
152
154
170 inline const Aws::String& GetVersion() const { return m_version; }
171 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
172 template <typename VersionT = Aws::String>
173 void SetVersion(VersionT&& value) {
174 m_versionHasBeenSet = true;
175 m_version = std::forward<VersionT>(value);
176 }
177 template <typename VersionT = Aws::String>
178 ContainerRecipe& WithVersion(VersionT&& value) {
179 SetVersion(std::forward<VersionT>(value));
180 return *this;
181 }
183
185
190 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
191 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
192 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
193 void SetComponents(ComponentsT&& value) {
194 m_componentsHasBeenSet = true;
195 m_components = std::forward<ComponentsT>(value);
196 }
197 template <typename ComponentsT = Aws::Vector<ComponentConfiguration>>
198 ContainerRecipe& WithComponents(ComponentsT&& value) {
199 SetComponents(std::forward<ComponentsT>(value));
200 return *this;
201 }
202 template <typename ComponentsT = ComponentConfiguration>
203 ContainerRecipe& AddComponents(ComponentsT&& value) {
204 m_componentsHasBeenSet = true;
205 m_components.emplace_back(std::forward<ComponentsT>(value));
206 return *this;
207 }
209
211
215 inline const InstanceConfiguration& GetInstanceConfiguration() const { return m_instanceConfiguration; }
216 inline bool InstanceConfigurationHasBeenSet() const { return m_instanceConfigurationHasBeenSet; }
217 template <typename InstanceConfigurationT = InstanceConfiguration>
218 void SetInstanceConfiguration(InstanceConfigurationT&& value) {
219 m_instanceConfigurationHasBeenSet = true;
220 m_instanceConfiguration = std::forward<InstanceConfigurationT>(value);
221 }
222 template <typename InstanceConfigurationT = InstanceConfiguration>
223 ContainerRecipe& WithInstanceConfiguration(InstanceConfigurationT&& value) {
224 SetInstanceConfiguration(std::forward<InstanceConfigurationT>(value));
225 return *this;
226 }
228
230
236 inline const Aws::String& GetDockerfileTemplateData() const { return m_dockerfileTemplateData; }
237 inline bool DockerfileTemplateDataHasBeenSet() const { return m_dockerfileTemplateDataHasBeenSet; }
238 template <typename DockerfileTemplateDataT = Aws::String>
239 void SetDockerfileTemplateData(DockerfileTemplateDataT&& value) {
240 m_dockerfileTemplateDataHasBeenSet = true;
241 m_dockerfileTemplateData = std::forward<DockerfileTemplateDataT>(value);
242 }
243 template <typename DockerfileTemplateDataT = Aws::String>
244 ContainerRecipe& WithDockerfileTemplateData(DockerfileTemplateDataT&& value) {
245 SetDockerfileTemplateData(std::forward<DockerfileTemplateDataT>(value));
246 return *this;
247 }
249
251
259 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
260 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
261 template <typename KmsKeyIdT = Aws::String>
262 void SetKmsKeyId(KmsKeyIdT&& value) {
263 m_kmsKeyIdHasBeenSet = true;
264 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
265 }
266 template <typename KmsKeyIdT = Aws::String>
267 ContainerRecipe& WithKmsKeyId(KmsKeyIdT&& value) {
268 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
269 return *this;
270 }
272
274
277 inline bool GetEncrypted() const { return m_encrypted; }
278 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
279 inline void SetEncrypted(bool value) {
280 m_encryptedHasBeenSet = true;
281 m_encrypted = value;
282 }
283 inline ContainerRecipe& WithEncrypted(bool value) {
284 SetEncrypted(value);
285 return *this;
286 }
288
290
295 inline const Aws::String& GetParentImage() const { return m_parentImage; }
296 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
297 template <typename ParentImageT = Aws::String>
298 void SetParentImage(ParentImageT&& value) {
299 m_parentImageHasBeenSet = true;
300 m_parentImage = std::forward<ParentImageT>(value);
301 }
302 template <typename ParentImageT = Aws::String>
303 ContainerRecipe& WithParentImage(ParentImageT&& value) {
304 SetParentImage(std::forward<ParentImageT>(value));
305 return *this;
306 }
308
310
313 inline const Aws::String& GetDateCreated() const { return m_dateCreated; }
314 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
315 template <typename DateCreatedT = Aws::String>
316 void SetDateCreated(DateCreatedT&& value) {
317 m_dateCreatedHasBeenSet = true;
318 m_dateCreated = std::forward<DateCreatedT>(value);
319 }
320 template <typename DateCreatedT = Aws::String>
321 ContainerRecipe& WithDateCreated(DateCreatedT&& value) {
322 SetDateCreated(std::forward<DateCreatedT>(value));
323 return *this;
324 }
326
328
331 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
332 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
333 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
334 void SetTags(TagsT&& value) {
335 m_tagsHasBeenSet = true;
336 m_tags = std::forward<TagsT>(value);
337 }
338 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
339 ContainerRecipe& WithTags(TagsT&& value) {
340 SetTags(std::forward<TagsT>(value));
341 return *this;
342 }
343 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
344 ContainerRecipe& AddTags(TagsKeyT&& key, TagsValueT&& value) {
345 m_tagsHasBeenSet = true;
346 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
347 return *this;
348 }
350
352
355 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
356 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
357 template <typename WorkingDirectoryT = Aws::String>
358 void SetWorkingDirectory(WorkingDirectoryT&& value) {
359 m_workingDirectoryHasBeenSet = true;
360 m_workingDirectory = std::forward<WorkingDirectoryT>(value);
361 }
362 template <typename WorkingDirectoryT = Aws::String>
363 ContainerRecipe& WithWorkingDirectory(WorkingDirectoryT&& value) {
364 SetWorkingDirectory(std::forward<WorkingDirectoryT>(value));
365 return *this;
366 }
368
370
373 inline const TargetContainerRepository& GetTargetRepository() const { return m_targetRepository; }
374 inline bool TargetRepositoryHasBeenSet() const { return m_targetRepositoryHasBeenSet; }
375 template <typename TargetRepositoryT = TargetContainerRepository>
376 void SetTargetRepository(TargetRepositoryT&& value) {
377 m_targetRepositoryHasBeenSet = true;
378 m_targetRepository = std::forward<TargetRepositoryT>(value);
379 }
380 template <typename TargetRepositoryT = TargetContainerRepository>
381 ContainerRecipe& WithTargetRepository(TargetRepositoryT&& value) {
382 SetTargetRepository(std::forward<TargetRepositoryT>(value));
383 return *this;
384 }
386 private:
387 Aws::String m_arn;
388
389 ContainerType m_containerType{ContainerType::NOT_SET};
390
391 Aws::String m_name;
392
393 Aws::String m_description;
394
395 Platform m_platform{Platform::NOT_SET};
396
397 Aws::String m_owner;
398
399 Aws::String m_version;
400
402
403 InstanceConfiguration m_instanceConfiguration;
404
405 Aws::String m_dockerfileTemplateData;
406
407 Aws::String m_kmsKeyId;
408
409 bool m_encrypted{false};
410
411 Aws::String m_parentImage;
412
413 Aws::String m_dateCreated;
414
416
417 Aws::String m_workingDirectory;
418
419 TargetContainerRepository m_targetRepository;
420 bool m_arnHasBeenSet = false;
421 bool m_containerTypeHasBeenSet = false;
422 bool m_nameHasBeenSet = false;
423 bool m_descriptionHasBeenSet = false;
424 bool m_platformHasBeenSet = false;
425 bool m_ownerHasBeenSet = false;
426 bool m_versionHasBeenSet = false;
427 bool m_componentsHasBeenSet = false;
428 bool m_instanceConfigurationHasBeenSet = false;
429 bool m_dockerfileTemplateDataHasBeenSet = false;
430 bool m_kmsKeyIdHasBeenSet = false;
431 bool m_encryptedHasBeenSet = false;
432 bool m_parentImageHasBeenSet = false;
433 bool m_dateCreatedHasBeenSet = false;
434 bool m_tagsHasBeenSet = false;
435 bool m_workingDirectoryHasBeenSet = false;
436 bool m_targetRepositoryHasBeenSet = false;
437};
438
439} // namespace Model
440} // namespace imagebuilder
441} // 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