AWS SDK for C++

AWS SDK for C++ Version 1.11.834

Loading...
Searching...
No Matches
CreateMicrovmImageRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/lambda-microvms/LambdaMicrovmsRequest.h>
12#include <aws/lambda-microvms/LambdaMicrovms_EXPORTS.h>
13#include <aws/lambda-microvms/model/Capability.h>
14#include <aws/lambda-microvms/model/CodeArtifact.h>
15#include <aws/lambda-microvms/model/CpuConfiguration.h>
16#include <aws/lambda-microvms/model/Hooks.h>
17#include <aws/lambda-microvms/model/Logging.h>
18#include <aws/lambda-microvms/model/Resources.h>
19
20#include <utility>
21
22namespace Aws {
23namespace LambdaMicrovms {
24namespace Model {
25
29 public:
30 AWS_LAMBDAMICROVMS_API CreateMicrovmImageRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateMicrovmImage"; }
37
38 AWS_LAMBDAMICROVMS_API Aws::String SerializePayload() const override;
39
41
45 inline const Aws::String& GetBaseImageArn() const { return m_baseImageArn; }
46 inline bool BaseImageArnHasBeenSet() const { return m_baseImageArnHasBeenSet; }
47 template <typename BaseImageArnT = Aws::String>
48 void SetBaseImageArn(BaseImageArnT&& value) {
49 m_baseImageArnHasBeenSet = true;
50 m_baseImageArn = std::forward<BaseImageArnT>(value);
51 }
52 template <typename BaseImageArnT = Aws::String>
54 SetBaseImageArn(std::forward<BaseImageArnT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetBaseImageVersion() const { return m_baseImageVersion; }
64 inline bool BaseImageVersionHasBeenSet() const { return m_baseImageVersionHasBeenSet; }
65 template <typename BaseImageVersionT = Aws::String>
66 void SetBaseImageVersion(BaseImageVersionT&& value) {
67 m_baseImageVersionHasBeenSet = true;
68 m_baseImageVersion = std::forward<BaseImageVersionT>(value);
69 }
70 template <typename BaseImageVersionT = Aws::String>
71 CreateMicrovmImageRequest& WithBaseImageVersion(BaseImageVersionT&& value) {
72 SetBaseImageVersion(std::forward<BaseImageVersionT>(value));
73 return *this;
74 }
76
78
83 inline const Aws::String& GetBuildRoleArn() const { return m_buildRoleArn; }
84 inline bool BuildRoleArnHasBeenSet() const { return m_buildRoleArnHasBeenSet; }
85 template <typename BuildRoleArnT = Aws::String>
86 void SetBuildRoleArn(BuildRoleArnT&& value) {
87 m_buildRoleArnHasBeenSet = true;
88 m_buildRoleArn = std::forward<BuildRoleArnT>(value);
89 }
90 template <typename BuildRoleArnT = Aws::String>
92 SetBuildRoleArn(std::forward<BuildRoleArnT>(value));
93 return *this;
94 }
96
98
101 inline const Aws::String& GetDescription() const { return m_description; }
102 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
103 template <typename DescriptionT = Aws::String>
104 void SetDescription(DescriptionT&& value) {
105 m_descriptionHasBeenSet = true;
106 m_description = std::forward<DescriptionT>(value);
107 }
108 template <typename DescriptionT = Aws::String>
110 SetDescription(std::forward<DescriptionT>(value));
111 return *this;
112 }
114
116
120 inline const CodeArtifact& GetCodeArtifact() const { return m_codeArtifact; }
121 inline bool CodeArtifactHasBeenSet() const { return m_codeArtifactHasBeenSet; }
122 template <typename CodeArtifactT = CodeArtifact>
123 void SetCodeArtifact(CodeArtifactT&& value) {
124 m_codeArtifactHasBeenSet = true;
125 m_codeArtifact = std::forward<CodeArtifactT>(value);
126 }
127 template <typename CodeArtifactT = CodeArtifact>
129 SetCodeArtifact(std::forward<CodeArtifactT>(value));
130 return *this;
131 }
133
135
140 inline const Logging& GetLogging() const { return m_logging; }
141 inline bool LoggingHasBeenSet() const { return m_loggingHasBeenSet; }
142 template <typename LoggingT = Logging>
143 void SetLogging(LoggingT&& value) {
144 m_loggingHasBeenSet = true;
145 m_logging = std::forward<LoggingT>(value);
146 }
147 template <typename LoggingT = Logging>
149 SetLogging(std::forward<LoggingT>(value));
150 return *this;
151 }
153
155
159 inline const Aws::Vector<Aws::String>& GetEgressNetworkConnectors() const { return m_egressNetworkConnectors; }
160 inline bool EgressNetworkConnectorsHasBeenSet() const { return m_egressNetworkConnectorsHasBeenSet; }
161 template <typename EgressNetworkConnectorsT = Aws::Vector<Aws::String>>
162 void SetEgressNetworkConnectors(EgressNetworkConnectorsT&& value) {
163 m_egressNetworkConnectorsHasBeenSet = true;
164 m_egressNetworkConnectors = std::forward<EgressNetworkConnectorsT>(value);
165 }
166 template <typename EgressNetworkConnectorsT = Aws::Vector<Aws::String>>
167 CreateMicrovmImageRequest& WithEgressNetworkConnectors(EgressNetworkConnectorsT&& value) {
168 SetEgressNetworkConnectors(std::forward<EgressNetworkConnectorsT>(value));
169 return *this;
170 }
171 template <typename EgressNetworkConnectorsT = Aws::String>
172 CreateMicrovmImageRequest& AddEgressNetworkConnectors(EgressNetworkConnectorsT&& value) {
173 m_egressNetworkConnectorsHasBeenSet = true;
174 m_egressNetworkConnectors.emplace_back(std::forward<EgressNetworkConnectorsT>(value));
175 return *this;
176 }
178
180
183 inline const Aws::Vector<CpuConfiguration>& GetCpuConfigurations() const { return m_cpuConfigurations; }
184 inline bool CpuConfigurationsHasBeenSet() const { return m_cpuConfigurationsHasBeenSet; }
185 template <typename CpuConfigurationsT = Aws::Vector<CpuConfiguration>>
186 void SetCpuConfigurations(CpuConfigurationsT&& value) {
187 m_cpuConfigurationsHasBeenSet = true;
188 m_cpuConfigurations = std::forward<CpuConfigurationsT>(value);
189 }
190 template <typename CpuConfigurationsT = Aws::Vector<CpuConfiguration>>
192 SetCpuConfigurations(std::forward<CpuConfigurationsT>(value));
193 return *this;
194 }
195 template <typename CpuConfigurationsT = CpuConfiguration>
196 CreateMicrovmImageRequest& AddCpuConfigurations(CpuConfigurationsT&& value) {
197 m_cpuConfigurationsHasBeenSet = true;
198 m_cpuConfigurations.emplace_back(std::forward<CpuConfigurationsT>(value));
199 return *this;
200 }
202
204
207 inline const Aws::Vector<Resources>& GetResources() const { return m_resources; }
208 inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; }
209 template <typename ResourcesT = Aws::Vector<Resources>>
210 void SetResources(ResourcesT&& value) {
211 m_resourcesHasBeenSet = true;
212 m_resources = std::forward<ResourcesT>(value);
213 }
214 template <typename ResourcesT = Aws::Vector<Resources>>
216 SetResources(std::forward<ResourcesT>(value));
217 return *this;
218 }
219 template <typename ResourcesT = Resources>
221 m_resourcesHasBeenSet = true;
222 m_resources.emplace_back(std::forward<ResourcesT>(value));
223 return *this;
224 }
226
228
231 inline const Aws::Vector<Capability>& GetAdditionalOsCapabilities() const { return m_additionalOsCapabilities; }
232 inline bool AdditionalOsCapabilitiesHasBeenSet() const { return m_additionalOsCapabilitiesHasBeenSet; }
233 template <typename AdditionalOsCapabilitiesT = Aws::Vector<Capability>>
234 void SetAdditionalOsCapabilities(AdditionalOsCapabilitiesT&& value) {
235 m_additionalOsCapabilitiesHasBeenSet = true;
236 m_additionalOsCapabilities = std::forward<AdditionalOsCapabilitiesT>(value);
237 }
238 template <typename AdditionalOsCapabilitiesT = Aws::Vector<Capability>>
239 CreateMicrovmImageRequest& WithAdditionalOsCapabilities(AdditionalOsCapabilitiesT&& value) {
240 SetAdditionalOsCapabilities(std::forward<AdditionalOsCapabilitiesT>(value));
241 return *this;
242 }
244 m_additionalOsCapabilitiesHasBeenSet = true;
245 m_additionalOsCapabilities.push_back(value);
246 return *this;
247 }
249
251
252 inline const Hooks& GetHooks() const { return m_hooks; }
253 inline bool HooksHasBeenSet() const { return m_hooksHasBeenSet; }
254 template <typename HooksT = Hooks>
255 void SetHooks(HooksT&& value) {
256 m_hooksHasBeenSet = true;
257 m_hooks = std::forward<HooksT>(value);
258 }
259 template <typename HooksT = Hooks>
261 SetHooks(std::forward<HooksT>(value));
262 return *this;
263 }
265
267
270 inline const Aws::Map<Aws::String, Aws::String>& GetEnvironmentVariables() const { return m_environmentVariables; }
271 inline bool EnvironmentVariablesHasBeenSet() const { return m_environmentVariablesHasBeenSet; }
272 template <typename EnvironmentVariablesT = Aws::Map<Aws::String, Aws::String>>
273 void SetEnvironmentVariables(EnvironmentVariablesT&& value) {
274 m_environmentVariablesHasBeenSet = true;
275 m_environmentVariables = std::forward<EnvironmentVariablesT>(value);
276 }
277 template <typename EnvironmentVariablesT = Aws::Map<Aws::String, Aws::String>>
278 CreateMicrovmImageRequest& WithEnvironmentVariables(EnvironmentVariablesT&& value) {
279 SetEnvironmentVariables(std::forward<EnvironmentVariablesT>(value));
280 return *this;
281 }
282 template <typename EnvironmentVariablesKeyT = Aws::String, typename EnvironmentVariablesValueT = Aws::String>
283 CreateMicrovmImageRequest& AddEnvironmentVariables(EnvironmentVariablesKeyT&& key, EnvironmentVariablesValueT&& value) {
284 m_environmentVariablesHasBeenSet = true;
285 m_environmentVariables.emplace(std::forward<EnvironmentVariablesKeyT>(key), std::forward<EnvironmentVariablesValueT>(value));
286 return *this;
287 }
289
291
294 inline const Aws::String& GetName() const { return m_name; }
295 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
296 template <typename NameT = Aws::String>
297 void SetName(NameT&& value) {
298 m_nameHasBeenSet = true;
299 m_name = std::forward<NameT>(value);
300 }
301 template <typename NameT = Aws::String>
303 SetName(std::forward<NameT>(value));
304 return *this;
305 }
307
309
314 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
315 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
316 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
317 void SetTags(TagsT&& value) {
318 m_tagsHasBeenSet = true;
319 m_tags = std::forward<TagsT>(value);
320 }
321 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
323 SetTags(std::forward<TagsT>(value));
324 return *this;
325 }
326 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
327 CreateMicrovmImageRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
328 m_tagsHasBeenSet = true;
329 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
330 return *this;
331 }
333
335
341 inline const Aws::String& GetClientToken() const { return m_clientToken; }
342 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
343 template <typename ClientTokenT = Aws::String>
344 void SetClientToken(ClientTokenT&& value) {
345 m_clientTokenHasBeenSet = true;
346 m_clientToken = std::forward<ClientTokenT>(value);
347 }
348 template <typename ClientTokenT = Aws::String>
350 SetClientToken(std::forward<ClientTokenT>(value));
351 return *this;
352 }
354 private:
355 Aws::String m_baseImageArn;
356
357 Aws::String m_baseImageVersion;
358
359 Aws::String m_buildRoleArn;
360
361 Aws::String m_description;
362
363 CodeArtifact m_codeArtifact;
364
365 Logging m_logging;
366
367 Aws::Vector<Aws::String> m_egressNetworkConnectors;
368
369 Aws::Vector<CpuConfiguration> m_cpuConfigurations;
370
371 Aws::Vector<Resources> m_resources;
372
373 Aws::Vector<Capability> m_additionalOsCapabilities;
374
375 Hooks m_hooks;
376
377 Aws::Map<Aws::String, Aws::String> m_environmentVariables;
378
379 Aws::String m_name;
380
382
384 bool m_baseImageArnHasBeenSet = false;
385 bool m_baseImageVersionHasBeenSet = false;
386 bool m_buildRoleArnHasBeenSet = false;
387 bool m_descriptionHasBeenSet = false;
388 bool m_codeArtifactHasBeenSet = false;
389 bool m_loggingHasBeenSet = false;
390 bool m_egressNetworkConnectorsHasBeenSet = false;
391 bool m_cpuConfigurationsHasBeenSet = false;
392 bool m_resourcesHasBeenSet = false;
393 bool m_additionalOsCapabilitiesHasBeenSet = false;
394 bool m_hooksHasBeenSet = false;
395 bool m_environmentVariablesHasBeenSet = false;
396 bool m_nameHasBeenSet = false;
397 bool m_tagsHasBeenSet = false;
398 bool m_clientTokenHasBeenSet = true;
399};
400
401} // namespace Model
402} // namespace LambdaMicrovms
403} // namespace Aws
CreateMicrovmImageRequest & AddEgressNetworkConnectors(EgressNetworkConnectorsT &&value)
CreateMicrovmImageRequest & AddResources(ResourcesT &&value)
AWS_LAMBDAMICROVMS_API CreateMicrovmImageRequest()=default
CreateMicrovmImageRequest & WithAdditionalOsCapabilities(AdditionalOsCapabilitiesT &&value)
CreateMicrovmImageRequest & WithHooks(HooksT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const Aws::Vector< Aws::String > & GetEgressNetworkConnectors() const
void SetAdditionalOsCapabilities(AdditionalOsCapabilitiesT &&value)
CreateMicrovmImageRequest & AddCpuConfigurations(CpuConfigurationsT &&value)
CreateMicrovmImageRequest & WithEgressNetworkConnectors(EgressNetworkConnectorsT &&value)
CreateMicrovmImageRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
const Aws::Vector< Capability > & GetAdditionalOsCapabilities() const
CreateMicrovmImageRequest & WithCpuConfigurations(CpuConfigurationsT &&value)
CreateMicrovmImageRequest & WithResources(ResourcesT &&value)
void SetEgressNetworkConnectors(EgressNetworkConnectorsT &&value)
CreateMicrovmImageRequest & WithBaseImageArn(BaseImageArnT &&value)
AWS_LAMBDAMICROVMS_API Aws::String SerializePayload() const override
CreateMicrovmImageRequest & WithLogging(LoggingT &&value)
CreateMicrovmImageRequest & AddEnvironmentVariables(EnvironmentVariablesKeyT &&key, EnvironmentVariablesValueT &&value)
CreateMicrovmImageRequest & WithClientToken(ClientTokenT &&value)
const Aws::Vector< CpuConfiguration > & GetCpuConfigurations() const
CreateMicrovmImageRequest & WithCodeArtifact(CodeArtifactT &&value)
CreateMicrovmImageRequest & WithBaseImageVersion(BaseImageVersionT &&value)
CreateMicrovmImageRequest & WithDescription(DescriptionT &&value)
CreateMicrovmImageRequest & WithEnvironmentVariables(EnvironmentVariablesT &&value)
CreateMicrovmImageRequest & WithBuildRoleArn(BuildRoleArnT &&value)
const Aws::Map< Aws::String, Aws::String > & GetEnvironmentVariables() const
CreateMicrovmImageRequest & AddAdditionalOsCapabilities(Capability value)
static Aws::Utils::UUID PseudoRandomUUID()
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