AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
RegisterImageRequest.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/BootModeValues.h>
12#include <aws/ec2/model/TpmSupportValues.h>
13#include <aws/ec2/model/ImdsSupportValues.h>
14#include <aws/ec2/model/ArchitectureValues.h>
15#include <aws/ec2/model/TagSpecification.h>
16#include <aws/ec2/model/BlockDeviceMapping.h>
17#include <utility>
18
19namespace Aws
20{
21namespace EC2
22{
23namespace Model
24{
25
32 {
33 public:
34 AWS_EC2_API RegisterImageRequest() = default;
35
36 // Service request name is the Operation name which will send this request out,
37 // each operation should has unique request name, so that we can get operation's name from this request.
38 // Note: this is not true for response, multiple operations may have the same response name,
39 // so we can not get operation's name from response.
40 inline virtual const char* GetServiceRequestName() const override { return "RegisterImage"; }
41
42 AWS_EC2_API Aws::String SerializePayload() const override;
43
44 protected:
45 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
46
47 public:
48
50
57 inline const Aws::String& GetImageLocation() const { return m_imageLocation; }
58 inline bool ImageLocationHasBeenSet() const { return m_imageLocationHasBeenSet; }
59 template<typename ImageLocationT = Aws::String>
60 void SetImageLocation(ImageLocationT&& value) { m_imageLocationHasBeenSet = true; m_imageLocation = std::forward<ImageLocationT>(value); }
61 template<typename ImageLocationT = Aws::String>
62 RegisterImageRequest& WithImageLocation(ImageLocationT&& value) { SetImageLocation(std::forward<ImageLocationT>(value)); return *this;}
64
66
78 inline const Aws::Vector<Aws::String>& GetBillingProducts() const { return m_billingProducts; }
79 inline bool BillingProductsHasBeenSet() const { return m_billingProductsHasBeenSet; }
80 template<typename BillingProductsT = Aws::Vector<Aws::String>>
81 void SetBillingProducts(BillingProductsT&& value) { m_billingProductsHasBeenSet = true; m_billingProducts = std::forward<BillingProductsT>(value); }
82 template<typename BillingProductsT = Aws::Vector<Aws::String>>
83 RegisterImageRequest& WithBillingProducts(BillingProductsT&& value) { SetBillingProducts(std::forward<BillingProductsT>(value)); return *this;}
84 template<typename BillingProductsT = Aws::String>
85 RegisterImageRequest& AddBillingProducts(BillingProductsT&& value) { m_billingProductsHasBeenSet = true; m_billingProducts.emplace_back(std::forward<BillingProductsT>(value)); return *this; }
87
89
98 inline BootModeValues GetBootMode() const { return m_bootMode; }
99 inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; }
100 inline void SetBootMode(BootModeValues value) { m_bootModeHasBeenSet = true; m_bootMode = value; }
101 inline RegisterImageRequest& WithBootMode(BootModeValues value) { SetBootMode(value); return *this;}
103
105
111 inline TpmSupportValues GetTpmSupport() const { return m_tpmSupport; }
112 inline bool TpmSupportHasBeenSet() const { return m_tpmSupportHasBeenSet; }
113 inline void SetTpmSupport(TpmSupportValues value) { m_tpmSupportHasBeenSet = true; m_tpmSupport = value; }
116
118
129 inline const Aws::String& GetUefiData() const { return m_uefiData; }
130 inline bool UefiDataHasBeenSet() const { return m_uefiDataHasBeenSet; }
131 template<typename UefiDataT = Aws::String>
132 void SetUefiData(UefiDataT&& value) { m_uefiDataHasBeenSet = true; m_uefiData = std::forward<UefiDataT>(value); }
133 template<typename UefiDataT = Aws::String>
134 RegisterImageRequest& WithUefiData(UefiDataT&& value) { SetUefiData(std::forward<UefiDataT>(value)); return *this;}
136
138
150 inline ImdsSupportValues GetImdsSupport() const { return m_imdsSupport; }
151 inline bool ImdsSupportHasBeenSet() const { return m_imdsSupportHasBeenSet; }
152 inline void SetImdsSupport(ImdsSupportValues value) { m_imdsSupportHasBeenSet = true; m_imdsSupport = value; }
155
157
164 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
165 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
166 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
167 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
168 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
169 RegisterImageRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
170 template<typename TagSpecificationsT = TagSpecification>
171 RegisterImageRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
173
175
181 inline bool GetDryRun() const { return m_dryRun; }
182 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
183 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
184 inline RegisterImageRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
186
188
193 inline const Aws::String& GetName() const { return m_name; }
194 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
195 template<typename NameT = Aws::String>
196 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
197 template<typename NameT = Aws::String>
198 RegisterImageRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
200
202
205 inline const Aws::String& GetDescription() const { return m_description; }
206 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
207 template<typename DescriptionT = Aws::String>
208 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
209 template<typename DescriptionT = Aws::String>
210 RegisterImageRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
212
214
219 inline ArchitectureValues GetArchitecture() const { return m_architecture; }
220 inline bool ArchitectureHasBeenSet() const { return m_architectureHasBeenSet; }
221 inline void SetArchitecture(ArchitectureValues value) { m_architectureHasBeenSet = true; m_architecture = value; }
224
226
229 inline const Aws::String& GetKernelId() const { return m_kernelId; }
230 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
231 template<typename KernelIdT = Aws::String>
232 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
233 template<typename KernelIdT = Aws::String>
234 RegisterImageRequest& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
236
238
241 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
242 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
243 template<typename RamdiskIdT = Aws::String>
244 void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::forward<RamdiskIdT>(value); }
245 template<typename RamdiskIdT = Aws::String>
246 RegisterImageRequest& WithRamdiskId(RamdiskIdT&& value) { SetRamdiskId(std::forward<RamdiskIdT>(value)); return *this;}
248
250
254 inline const Aws::String& GetRootDeviceName() const { return m_rootDeviceName; }
255 inline bool RootDeviceNameHasBeenSet() const { return m_rootDeviceNameHasBeenSet; }
256 template<typename RootDeviceNameT = Aws::String>
257 void SetRootDeviceName(RootDeviceNameT&& value) { m_rootDeviceNameHasBeenSet = true; m_rootDeviceName = std::forward<RootDeviceNameT>(value); }
258 template<typename RootDeviceNameT = Aws::String>
259 RegisterImageRequest& WithRootDeviceName(RootDeviceNameT&& value) { SetRootDeviceName(std::forward<RootDeviceNameT>(value)); return *this;}
261
263
273 inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
274 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
275 template<typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
276 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
277 template<typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
278 RegisterImageRequest& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
279 template<typename BlockDeviceMappingsT = BlockDeviceMapping>
280 RegisterImageRequest& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
282
284
288 inline const Aws::String& GetVirtualizationType() const { return m_virtualizationType; }
289 inline bool VirtualizationTypeHasBeenSet() const { return m_virtualizationTypeHasBeenSet; }
290 template<typename VirtualizationTypeT = Aws::String>
291 void SetVirtualizationType(VirtualizationTypeT&& value) { m_virtualizationTypeHasBeenSet = true; m_virtualizationType = std::forward<VirtualizationTypeT>(value); }
292 template<typename VirtualizationTypeT = Aws::String>
293 RegisterImageRequest& WithVirtualizationType(VirtualizationTypeT&& value) { SetVirtualizationType(std::forward<VirtualizationTypeT>(value)); return *this;}
295
297
304 inline const Aws::String& GetSriovNetSupport() const { return m_sriovNetSupport; }
305 inline bool SriovNetSupportHasBeenSet() const { return m_sriovNetSupportHasBeenSet; }
306 template<typename SriovNetSupportT = Aws::String>
307 void SetSriovNetSupport(SriovNetSupportT&& value) { m_sriovNetSupportHasBeenSet = true; m_sriovNetSupport = std::forward<SriovNetSupportT>(value); }
308 template<typename SriovNetSupportT = Aws::String>
309 RegisterImageRequest& WithSriovNetSupport(SriovNetSupportT&& value) { SetSriovNetSupport(std::forward<SriovNetSupportT>(value)); return *this;}
311
313
319 inline bool GetEnaSupport() const { return m_enaSupport; }
320 inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; }
321 inline void SetEnaSupport(bool value) { m_enaSupportHasBeenSet = true; m_enaSupport = value; }
322 inline RegisterImageRequest& WithEnaSupport(bool value) { SetEnaSupport(value); return *this;}
324 private:
325
326 Aws::String m_imageLocation;
327 bool m_imageLocationHasBeenSet = false;
328
329 Aws::Vector<Aws::String> m_billingProducts;
330 bool m_billingProductsHasBeenSet = false;
331
333 bool m_bootModeHasBeenSet = false;
334
336 bool m_tpmSupportHasBeenSet = false;
337
338 Aws::String m_uefiData;
339 bool m_uefiDataHasBeenSet = false;
340
342 bool m_imdsSupportHasBeenSet = false;
343
344 Aws::Vector<TagSpecification> m_tagSpecifications;
345 bool m_tagSpecificationsHasBeenSet = false;
346
347 bool m_dryRun{false};
348 bool m_dryRunHasBeenSet = false;
349
350 Aws::String m_name;
351 bool m_nameHasBeenSet = false;
352
353 Aws::String m_description;
354 bool m_descriptionHasBeenSet = false;
355
357 bool m_architectureHasBeenSet = false;
358
359 Aws::String m_kernelId;
360 bool m_kernelIdHasBeenSet = false;
361
362 Aws::String m_ramdiskId;
363 bool m_ramdiskIdHasBeenSet = false;
364
365 Aws::String m_rootDeviceName;
366 bool m_rootDeviceNameHasBeenSet = false;
367
368 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
369 bool m_blockDeviceMappingsHasBeenSet = false;
370
371 Aws::String m_virtualizationType;
372 bool m_virtualizationTypeHasBeenSet = false;
373
374 Aws::String m_sriovNetSupport;
375 bool m_sriovNetSupportHasBeenSet = false;
376
377 bool m_enaSupport{false};
378 bool m_enaSupportHasBeenSet = false;
379 };
380
381} // namespace Model
382} // namespace EC2
383} // namespace Aws
void SetBillingProducts(BillingProductsT &&value)
const Aws::Vector< Aws::String > & GetBillingProducts() const
RegisterImageRequest & AddBillingProducts(BillingProductsT &&value)
RegisterImageRequest & WithSriovNetSupport(SriovNetSupportT &&value)
void SetVirtualizationType(VirtualizationTypeT &&value)
RegisterImageRequest & WithDryRun(bool value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
const Aws::String & GetSriovNetSupport() const
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
RegisterImageRequest & WithBillingProducts(BillingProductsT &&value)
RegisterImageRequest & WithRootDeviceName(RootDeviceNameT &&value)
RegisterImageRequest & AddTagSpecifications(TagSpecificationsT &&value)
RegisterImageRequest & WithName(NameT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
void SetRootDeviceName(RootDeviceNameT &&value)
RegisterImageRequest & WithTpmSupport(TpmSupportValues value)
const Aws::String & GetRootDeviceName() const
RegisterImageRequest & WithRamdiskId(RamdiskIdT &&value)
RegisterImageRequest & WithVirtualizationType(VirtualizationTypeT &&value)
RegisterImageRequest & WithBootMode(BootModeValues value)
const Aws::String & GetVirtualizationType() const
RegisterImageRequest & WithTagSpecifications(TagSpecificationsT &&value)
void SetImageLocation(ImageLocationT &&value)
RegisterImageRequest & WithKernelId(KernelIdT &&value)
virtual const char * GetServiceRequestName() const override
void SetSriovNetSupport(SriovNetSupportT &&value)
RegisterImageRequest & WithImageLocation(ImageLocationT &&value)
void SetArchitecture(ArchitectureValues value)
void SetTpmSupport(TpmSupportValues value)
RegisterImageRequest & WithArchitecture(ArchitectureValues value)
void SetImdsSupport(ImdsSupportValues value)
AWS_EC2_API RegisterImageRequest()=default
RegisterImageRequest & WithImdsSupport(ImdsSupportValues value)
void SetTagSpecifications(TagSpecificationsT &&value)
RegisterImageRequest & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
RegisterImageRequest & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
RegisterImageRequest & WithUefiData(UefiDataT &&value)
RegisterImageRequest & WithDescription(DescriptionT &&value)
const Aws::String & GetImageLocation() const
const Aws::String & GetDescription() const
AWS_EC2_API Aws::String SerializePayload() const override
RegisterImageRequest & WithEnaSupport(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector