AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ContainerRecipe.h
1
6#pragma once
7#include <aws/imagebuilder/Imagebuilder_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/imagebuilder/model/ContainerType.h>
10#include <aws/imagebuilder/model/Platform.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/imagebuilder/model/InstanceConfiguration.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/imagebuilder/model/TargetContainerRepository.h>
15#include <aws/imagebuilder/model/ComponentConfiguration.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace imagebuilder
29{
30namespace Model
31{
32
39 {
40 public:
41 AWS_IMAGEBUILDER_API ContainerRecipe() = default;
42 AWS_IMAGEBUILDER_API ContainerRecipe(Aws::Utils::Json::JsonView jsonValue);
43 AWS_IMAGEBUILDER_API ContainerRecipe& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
59 inline const Aws::String& GetArn() const { return m_arn; }
60 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
61 template<typename ArnT = Aws::String>
62 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
63 template<typename ArnT = Aws::String>
64 ContainerRecipe& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
66
68
71 inline ContainerType GetContainerType() const { return m_containerType; }
72 inline bool ContainerTypeHasBeenSet() const { return m_containerTypeHasBeenSet; }
73 inline void SetContainerType(ContainerType value) { m_containerTypeHasBeenSet = true; m_containerType = value; }
74 inline ContainerRecipe& WithContainerType(ContainerType value) { SetContainerType(value); return *this;}
76
78
81 inline const Aws::String& GetName() const { return m_name; }
82 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
83 template<typename NameT = Aws::String>
84 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
85 template<typename NameT = Aws::String>
86 ContainerRecipe& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
88
90
93 inline const Aws::String& GetDescription() const { return m_description; }
94 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
95 template<typename DescriptionT = Aws::String>
96 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
97 template<typename DescriptionT = Aws::String>
98 ContainerRecipe& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
100
102
105 inline Platform GetPlatform() const { return m_platform; }
106 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
107 inline void SetPlatform(Platform value) { m_platformHasBeenSet = true; m_platform = value; }
108 inline ContainerRecipe& WithPlatform(Platform value) { SetPlatform(value); return *this;}
110
112
115 inline const Aws::String& GetOwner() const { return m_owner; }
116 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
117 template<typename OwnerT = Aws::String>
118 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet = true; m_owner = std::forward<OwnerT>(value); }
119 template<typename OwnerT = Aws::String>
120 ContainerRecipe& WithOwner(OwnerT&& value) { SetOwner(std::forward<OwnerT>(value)); return *this;}
122
124
140 inline const Aws::String& GetVersion() const { return m_version; }
141 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
142 template<typename VersionT = Aws::String>
143 void SetVersion(VersionT&& value) { m_versionHasBeenSet = true; m_version = std::forward<VersionT>(value); }
144 template<typename VersionT = Aws::String>
145 ContainerRecipe& WithVersion(VersionT&& value) { SetVersion(std::forward<VersionT>(value)); return *this;}
147
149
154 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
155 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
156 template<typename ComponentsT = Aws::Vector<ComponentConfiguration>>
157 void SetComponents(ComponentsT&& value) { m_componentsHasBeenSet = true; m_components = std::forward<ComponentsT>(value); }
158 template<typename ComponentsT = Aws::Vector<ComponentConfiguration>>
159 ContainerRecipe& WithComponents(ComponentsT&& value) { SetComponents(std::forward<ComponentsT>(value)); return *this;}
160 template<typename ComponentsT = ComponentConfiguration>
161 ContainerRecipe& AddComponents(ComponentsT&& value) { m_componentsHasBeenSet = true; m_components.emplace_back(std::forward<ComponentsT>(value)); return *this; }
163
165
169 inline const InstanceConfiguration& GetInstanceConfiguration() const { return m_instanceConfiguration; }
170 inline bool InstanceConfigurationHasBeenSet() const { return m_instanceConfigurationHasBeenSet; }
171 template<typename InstanceConfigurationT = InstanceConfiguration>
172 void SetInstanceConfiguration(InstanceConfigurationT&& value) { m_instanceConfigurationHasBeenSet = true; m_instanceConfiguration = std::forward<InstanceConfigurationT>(value); }
173 template<typename InstanceConfigurationT = InstanceConfiguration>
174 ContainerRecipe& WithInstanceConfiguration(InstanceConfigurationT&& value) { SetInstanceConfiguration(std::forward<InstanceConfigurationT>(value)); return *this;}
176
178
184 inline const Aws::String& GetDockerfileTemplateData() const { return m_dockerfileTemplateData; }
185 inline bool DockerfileTemplateDataHasBeenSet() const { return m_dockerfileTemplateDataHasBeenSet; }
186 template<typename DockerfileTemplateDataT = Aws::String>
187 void SetDockerfileTemplateData(DockerfileTemplateDataT&& value) { m_dockerfileTemplateDataHasBeenSet = true; m_dockerfileTemplateData = std::forward<DockerfileTemplateDataT>(value); }
188 template<typename DockerfileTemplateDataT = Aws::String>
189 ContainerRecipe& WithDockerfileTemplateData(DockerfileTemplateDataT&& value) { SetDockerfileTemplateData(std::forward<DockerfileTemplateDataT>(value)); return *this;}
191
193
197 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
198 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
199 template<typename KmsKeyIdT = Aws::String>
200 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
201 template<typename KmsKeyIdT = Aws::String>
202 ContainerRecipe& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
204
206
209 inline bool GetEncrypted() const { return m_encrypted; }
210 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
211 inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; }
212 inline ContainerRecipe& WithEncrypted(bool value) { SetEncrypted(value); return *this;}
214
216
221 inline const Aws::String& GetParentImage() const { return m_parentImage; }
222 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
223 template<typename ParentImageT = Aws::String>
224 void SetParentImage(ParentImageT&& value) { m_parentImageHasBeenSet = true; m_parentImage = std::forward<ParentImageT>(value); }
225 template<typename ParentImageT = Aws::String>
226 ContainerRecipe& WithParentImage(ParentImageT&& value) { SetParentImage(std::forward<ParentImageT>(value)); return *this;}
228
230
233 inline const Aws::String& GetDateCreated() const { return m_dateCreated; }
234 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
235 template<typename DateCreatedT = Aws::String>
236 void SetDateCreated(DateCreatedT&& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = std::forward<DateCreatedT>(value); }
237 template<typename DateCreatedT = Aws::String>
238 ContainerRecipe& WithDateCreated(DateCreatedT&& value) { SetDateCreated(std::forward<DateCreatedT>(value)); return *this;}
240
242
245 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
246 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
247 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
248 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
249 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
250 ContainerRecipe& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
251 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
252 ContainerRecipe& AddTags(TagsKeyT&& key, TagsValueT&& value) {
253 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
254 }
256
258
261 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
262 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
263 template<typename WorkingDirectoryT = Aws::String>
264 void SetWorkingDirectory(WorkingDirectoryT&& value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory = std::forward<WorkingDirectoryT>(value); }
265 template<typename WorkingDirectoryT = Aws::String>
266 ContainerRecipe& WithWorkingDirectory(WorkingDirectoryT&& value) { SetWorkingDirectory(std::forward<WorkingDirectoryT>(value)); return *this;}
268
270
273 inline const TargetContainerRepository& GetTargetRepository() const { return m_targetRepository; }
274 inline bool TargetRepositoryHasBeenSet() const { return m_targetRepositoryHasBeenSet; }
275 template<typename TargetRepositoryT = TargetContainerRepository>
276 void SetTargetRepository(TargetRepositoryT&& value) { m_targetRepositoryHasBeenSet = true; m_targetRepository = std::forward<TargetRepositoryT>(value); }
277 template<typename TargetRepositoryT = TargetContainerRepository>
278 ContainerRecipe& WithTargetRepository(TargetRepositoryT&& value) { SetTargetRepository(std::forward<TargetRepositoryT>(value)); return *this;}
280 private:
281
282 Aws::String m_arn;
283 bool m_arnHasBeenSet = false;
284
285 ContainerType m_containerType{ContainerType::NOT_SET};
286 bool m_containerTypeHasBeenSet = false;
287
288 Aws::String m_name;
289 bool m_nameHasBeenSet = false;
290
291 Aws::String m_description;
292 bool m_descriptionHasBeenSet = false;
293
294 Platform m_platform{Platform::NOT_SET};
295 bool m_platformHasBeenSet = false;
296
297 Aws::String m_owner;
298 bool m_ownerHasBeenSet = false;
299
300 Aws::String m_version;
301 bool m_versionHasBeenSet = false;
302
304 bool m_componentsHasBeenSet = false;
305
306 InstanceConfiguration m_instanceConfiguration;
307 bool m_instanceConfigurationHasBeenSet = false;
308
309 Aws::String m_dockerfileTemplateData;
310 bool m_dockerfileTemplateDataHasBeenSet = false;
311
312 Aws::String m_kmsKeyId;
313 bool m_kmsKeyIdHasBeenSet = false;
314
315 bool m_encrypted{false};
316 bool m_encryptedHasBeenSet = false;
317
318 Aws::String m_parentImage;
319 bool m_parentImageHasBeenSet = false;
320
321 Aws::String m_dateCreated;
322 bool m_dateCreatedHasBeenSet = false;
323
325 bool m_tagsHasBeenSet = false;
326
327 Aws::String m_workingDirectory;
328 bool m_workingDirectoryHasBeenSet = false;
329
330 TargetContainerRepository m_targetRepository;
331 bool m_targetRepositoryHasBeenSet = false;
332 };
333
334} // namespace Model
335} // namespace imagebuilder
336} // 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