AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ImageRecipe.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/ImageType.h>
10#include <aws/imagebuilder/model/Platform.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/imagebuilder/model/AdditionalInstanceConfiguration.h>
14#include <aws/imagebuilder/model/ComponentConfiguration.h>
15#include <aws/imagebuilder/model/InstanceBlockDeviceMapping.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 ImageRecipe() = default;
42 AWS_IMAGEBUILDER_API ImageRecipe(Aws::Utils::Json::JsonView jsonValue);
43 AWS_IMAGEBUILDER_API ImageRecipe& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::String& GetArn() const { return m_arn; }
52 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
53 template<typename ArnT = Aws::String>
54 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
55 template<typename ArnT = Aws::String>
56 ImageRecipe& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
58
60
64 inline ImageType GetType() const { return m_type; }
65 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
66 inline void SetType(ImageType value) { m_typeHasBeenSet = true; m_type = value; }
67 inline ImageRecipe& WithType(ImageType value) { SetType(value); return *this;}
69
71
74 inline const Aws::String& GetName() const { return m_name; }
75 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
76 template<typename NameT = Aws::String>
77 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
78 template<typename NameT = Aws::String>
79 ImageRecipe& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
81
83
86 inline const Aws::String& GetDescription() const { return m_description; }
87 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
88 template<typename DescriptionT = Aws::String>
89 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
90 template<typename DescriptionT = Aws::String>
91 ImageRecipe& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
93
95
98 inline Platform GetPlatform() const { return m_platform; }
99 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
100 inline void SetPlatform(Platform value) { m_platformHasBeenSet = true; m_platform = value; }
101 inline ImageRecipe& WithPlatform(Platform value) { SetPlatform(value); return *this;}
103
105
108 inline const Aws::String& GetOwner() const { return m_owner; }
109 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
110 template<typename OwnerT = Aws::String>
111 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet = true; m_owner = std::forward<OwnerT>(value); }
112 template<typename OwnerT = Aws::String>
113 ImageRecipe& WithOwner(OwnerT&& value) { SetOwner(std::forward<OwnerT>(value)); return *this;}
115
117
120 inline const Aws::String& GetVersion() const { return m_version; }
121 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
122 template<typename VersionT = Aws::String>
123 void SetVersion(VersionT&& value) { m_versionHasBeenSet = true; m_version = std::forward<VersionT>(value); }
124 template<typename VersionT = Aws::String>
125 ImageRecipe& WithVersion(VersionT&& value) { SetVersion(std::forward<VersionT>(value)); return *this;}
127
129
134 inline const Aws::Vector<ComponentConfiguration>& GetComponents() const { return m_components; }
135 inline bool ComponentsHasBeenSet() const { return m_componentsHasBeenSet; }
136 template<typename ComponentsT = Aws::Vector<ComponentConfiguration>>
137 void SetComponents(ComponentsT&& value) { m_componentsHasBeenSet = true; m_components = std::forward<ComponentsT>(value); }
138 template<typename ComponentsT = Aws::Vector<ComponentConfiguration>>
139 ImageRecipe& WithComponents(ComponentsT&& value) { SetComponents(std::forward<ComponentsT>(value)); return *this;}
140 template<typename ComponentsT = ComponentConfiguration>
141 ImageRecipe& AddComponents(ComponentsT&& value) { m_componentsHasBeenSet = true; m_components.emplace_back(std::forward<ComponentsT>(value)); return *this; }
143
145
154 inline const Aws::String& GetParentImage() const { return m_parentImage; }
155 inline bool ParentImageHasBeenSet() const { return m_parentImageHasBeenSet; }
156 template<typename ParentImageT = Aws::String>
157 void SetParentImage(ParentImageT&& value) { m_parentImageHasBeenSet = true; m_parentImage = std::forward<ParentImageT>(value); }
158 template<typename ParentImageT = Aws::String>
159 ImageRecipe& WithParentImage(ParentImageT&& value) { SetParentImage(std::forward<ParentImageT>(value)); return *this;}
161
163
166 inline const Aws::Vector<InstanceBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
167 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
168 template<typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
169 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
170 template<typename BlockDeviceMappingsT = Aws::Vector<InstanceBlockDeviceMapping>>
171 ImageRecipe& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
172 template<typename BlockDeviceMappingsT = InstanceBlockDeviceMapping>
173 ImageRecipe& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
175
177
180 inline const Aws::String& GetDateCreated() const { return m_dateCreated; }
181 inline bool DateCreatedHasBeenSet() const { return m_dateCreatedHasBeenSet; }
182 template<typename DateCreatedT = Aws::String>
183 void SetDateCreated(DateCreatedT&& value) { m_dateCreatedHasBeenSet = true; m_dateCreated = std::forward<DateCreatedT>(value); }
184 template<typename DateCreatedT = Aws::String>
185 ImageRecipe& WithDateCreated(DateCreatedT&& value) { SetDateCreated(std::forward<DateCreatedT>(value)); return *this;}
187
189
192 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
193 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
194 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
195 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
196 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
197 ImageRecipe& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
198 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
199 ImageRecipe& AddTags(TagsKeyT&& key, TagsValueT&& value) {
200 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
201 }
203
205
208 inline const Aws::String& GetWorkingDirectory() const { return m_workingDirectory; }
209 inline bool WorkingDirectoryHasBeenSet() const { return m_workingDirectoryHasBeenSet; }
210 template<typename WorkingDirectoryT = Aws::String>
211 void SetWorkingDirectory(WorkingDirectoryT&& value) { m_workingDirectoryHasBeenSet = true; m_workingDirectory = std::forward<WorkingDirectoryT>(value); }
212 template<typename WorkingDirectoryT = Aws::String>
213 ImageRecipe& WithWorkingDirectory(WorkingDirectoryT&& value) { SetWorkingDirectory(std::forward<WorkingDirectoryT>(value)); return *this;}
215
217
223 inline const AdditionalInstanceConfiguration& GetAdditionalInstanceConfiguration() const { return m_additionalInstanceConfiguration; }
224 inline bool AdditionalInstanceConfigurationHasBeenSet() const { return m_additionalInstanceConfigurationHasBeenSet; }
225 template<typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
226 void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) { m_additionalInstanceConfigurationHasBeenSet = true; m_additionalInstanceConfiguration = std::forward<AdditionalInstanceConfigurationT>(value); }
227 template<typename AdditionalInstanceConfigurationT = AdditionalInstanceConfiguration>
228 ImageRecipe& WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT&& value) { SetAdditionalInstanceConfiguration(std::forward<AdditionalInstanceConfigurationT>(value)); return *this;}
230 private:
231
232 Aws::String m_arn;
233 bool m_arnHasBeenSet = false;
234
236 bool m_typeHasBeenSet = false;
237
238 Aws::String m_name;
239 bool m_nameHasBeenSet = false;
240
241 Aws::String m_description;
242 bool m_descriptionHasBeenSet = false;
243
244 Platform m_platform{Platform::NOT_SET};
245 bool m_platformHasBeenSet = false;
246
247 Aws::String m_owner;
248 bool m_ownerHasBeenSet = false;
249
250 Aws::String m_version;
251 bool m_versionHasBeenSet = false;
252
254 bool m_componentsHasBeenSet = false;
255
256 Aws::String m_parentImage;
257 bool m_parentImageHasBeenSet = false;
258
259 Aws::Vector<InstanceBlockDeviceMapping> m_blockDeviceMappings;
260 bool m_blockDeviceMappingsHasBeenSet = false;
261
262 Aws::String m_dateCreated;
263 bool m_dateCreatedHasBeenSet = false;
264
266 bool m_tagsHasBeenSet = false;
267
268 Aws::String m_workingDirectory;
269 bool m_workingDirectoryHasBeenSet = false;
270
271 AdditionalInstanceConfiguration m_additionalInstanceConfiguration;
272 bool m_additionalInstanceConfigurationHasBeenSet = false;
273 };
274
275} // namespace Model
276} // namespace imagebuilder
277} // namespace Aws
void SetWorkingDirectory(WorkingDirectoryT &&value)
ImageRecipe & WithDescription(DescriptionT &&value)
Definition ImageRecipe.h:91
ImageRecipe & AddComponents(ComponentsT &&value)
const Aws::String & GetVersion() const
const Aws::Vector< ComponentConfiguration > & GetComponents() const
ImageRecipe & WithName(NameT &&value)
Definition ImageRecipe.h:79
ImageRecipe & WithType(ImageType value)
Definition ImageRecipe.h:67
void SetVersion(VersionT &&value)
ImageRecipe & WithArn(ArnT &&value)
Definition ImageRecipe.h:56
const Aws::String & GetArn() const
Definition ImageRecipe.h:51
ImageRecipe & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
void SetAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
ImageRecipe & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::String & GetName() const
Definition ImageRecipe.h:74
ImageRecipe & WithTags(TagsT &&value)
ImageRecipe & WithDateCreated(DateCreatedT &&value)
void SetParentImage(ParentImageT &&value)
AWS_IMAGEBUILDER_API ImageRecipe(Aws::Utils::Json::JsonView jsonValue)
ImageRecipe & WithWorkingDirectory(WorkingDirectoryT &&value)
const Aws::String & GetWorkingDirectory() const
AWS_IMAGEBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetDateCreated() const
ImageRecipe & WithVersion(VersionT &&value)
const Aws::String & GetOwner() const
ImageRecipe & WithOwner(OwnerT &&value)
ImageRecipe & WithAdditionalInstanceConfiguration(AdditionalInstanceConfigurationT &&value)
const Aws::String & GetParentImage() const
void SetDescription(DescriptionT &&value)
Definition ImageRecipe.h:89
AWS_IMAGEBUILDER_API ImageRecipe()=default
void SetDateCreated(DateCreatedT &&value)
ImageRecipe & WithPlatform(Platform value)
ImageRecipe & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
AWS_IMAGEBUILDER_API ImageRecipe & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetDescription() const
Definition ImageRecipe.h:86
void SetComponents(ComponentsT &&value)
bool AdditionalInstanceConfigurationHasBeenSet() const
const Aws::Vector< InstanceBlockDeviceMapping > & GetBlockDeviceMappings() const
const AdditionalInstanceConfiguration & GetAdditionalInstanceConfiguration() const
ImageRecipe & WithComponents(ComponentsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ImageRecipe & WithParentImage(ParentImageT &&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
Aws::Utils::Json::JsonValue JsonValue