/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains the parameters for RegisterImage.See Also:
AWS
* API Reference
The full path to your AMI manifest in Amazon S3 storage. The specified bucket
* must have the aws-exec-read canned access control list (ACL) to
* ensure that it can be accessed by Amazon EC2. For more information, see Canned
* ACLs in the Amazon S3 Service Developer Guide.
The full path to your AMI manifest in Amazon S3 storage. The specified bucket
* must have the aws-exec-read canned access control list (ACL) to
* ensure that it can be accessed by Amazon EC2. For more information, see Canned
* ACLs in the Amazon S3 Service Developer Guide.
The full path to your AMI manifest in Amazon S3 storage. The specified bucket
* must have the aws-exec-read canned access control list (ACL) to
* ensure that it can be accessed by Amazon EC2. For more information, see Canned
* ACLs in the Amazon S3 Service Developer Guide.
The full path to your AMI manifest in Amazon S3 storage. The specified bucket
* must have the aws-exec-read canned access control list (ACL) to
* ensure that it can be accessed by Amazon EC2. For more information, see Canned
* ACLs in the Amazon S3 Service Developer Guide.
The full path to your AMI manifest in Amazon S3 storage. The specified bucket
* must have the aws-exec-read canned access control list (ACL) to
* ensure that it can be accessed by Amazon EC2. For more information, see Canned
* ACLs in the Amazon S3 Service Developer Guide.
The full path to your AMI manifest in Amazon S3 storage. The specified bucket
* must have the aws-exec-read canned access control list (ACL) to
* ensure that it can be accessed by Amazon EC2. For more information, see Canned
* ACLs in the Amazon S3 Service Developer Guide.
The full path to your AMI manifest in Amazon S3 storage. The specified bucket
* must have the aws-exec-read canned access control list (ACL) to
* ensure that it can be accessed by Amazon EC2. For more information, see Canned
* ACLs in the Amazon S3 Service Developer Guide.
The full path to your AMI manifest in Amazon S3 storage. The specified bucket
* must have the aws-exec-read canned access control list (ACL) to
* ensure that it can be accessed by Amazon EC2. For more information, see Canned
* ACLs in the Amazon S3 Service Developer Guide.
The architecture of the AMI.
Default: For Amazon EBS-backed AMIs,
* i386. For instance store-backed AMIs, the architecture specified in
* the manifest file.
The architecture of the AMI.
Default: For Amazon EBS-backed AMIs,
* i386. For instance store-backed AMIs, the architecture specified in
* the manifest file.
The architecture of the AMI.
Default: For Amazon EBS-backed AMIs,
* i386. For instance store-backed AMIs, the architecture specified in
* the manifest file.
The architecture of the AMI.
Default: For Amazon EBS-backed AMIs,
* i386. For instance store-backed AMIs, the architecture specified in
* the manifest file.
The architecture of the AMI.
Default: For Amazon EBS-backed AMIs,
* i386. For instance store-backed AMIs, the architecture specified in
* the manifest file.
The architecture of the AMI.
Default: For Amazon EBS-backed AMIs,
* i386. For instance store-backed AMIs, the architecture specified in
* the manifest file.
The block device mapping entries.
If you specify an Amazon EBS volume * using the ID of an Amazon EBS snapshot, you can't specify the encryption state * of the volume.
If you create an AMI on an Outpost, then all backing * snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on * an Outpost that include local snapshots can be used to launch instances on the * same Outpost only. For more information, Amazon * EBS local snapshots on Outposts in the Amazon EC2 User Guide.
*/ inline const Aws::VectorThe block device mapping entries.
If you specify an Amazon EBS volume * using the ID of an Amazon EBS snapshot, you can't specify the encryption state * of the volume.
If you create an AMI on an Outpost, then all backing * snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on * an Outpost that include local snapshots can be used to launch instances on the * same Outpost only. For more information, Amazon * EBS local snapshots on Outposts in the Amazon EC2 User Guide.
*/ inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; } /** *The block device mapping entries.
If you specify an Amazon EBS volume * using the ID of an Amazon EBS snapshot, you can't specify the encryption state * of the volume.
If you create an AMI on an Outpost, then all backing * snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on * an Outpost that include local snapshots can be used to launch instances on the * same Outpost only. For more information, Amazon * EBS local snapshots on Outposts in the Amazon EC2 User Guide.
*/ inline void SetBlockDeviceMappings(const Aws::VectorThe block device mapping entries.
If you specify an Amazon EBS volume * using the ID of an Amazon EBS snapshot, you can't specify the encryption state * of the volume.
If you create an AMI on an Outpost, then all backing * snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on * an Outpost that include local snapshots can be used to launch instances on the * same Outpost only. For more information, Amazon * EBS local snapshots on Outposts in the Amazon EC2 User Guide.
*/ inline void SetBlockDeviceMappings(Aws::VectorThe block device mapping entries.
If you specify an Amazon EBS volume * using the ID of an Amazon EBS snapshot, you can't specify the encryption state * of the volume.
If you create an AMI on an Outpost, then all backing * snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on * an Outpost that include local snapshots can be used to launch instances on the * same Outpost only. For more information, Amazon * EBS local snapshots on Outposts in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& WithBlockDeviceMappings(const Aws::VectorThe block device mapping entries.
If you specify an Amazon EBS volume * using the ID of an Amazon EBS snapshot, you can't specify the encryption state * of the volume.
If you create an AMI on an Outpost, then all backing * snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on * an Outpost that include local snapshots can be used to launch instances on the * same Outpost only. For more information, Amazon * EBS local snapshots on Outposts in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& WithBlockDeviceMappings(Aws::VectorThe block device mapping entries.
If you specify an Amazon EBS volume * using the ID of an Amazon EBS snapshot, you can't specify the encryption state * of the volume.
If you create an AMI on an Outpost, then all backing * snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on * an Outpost that include local snapshots can be used to launch instances on the * same Outpost only. For more information, Amazon * EBS local snapshots on Outposts in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& AddBlockDeviceMappings(const BlockDeviceMapping& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; } /** *The block device mapping entries.
If you specify an Amazon EBS volume * using the ID of an Amazon EBS snapshot, you can't specify the encryption state * of the volume.
If you create an AMI on an Outpost, then all backing * snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on * an Outpost that include local snapshots can be used to launch instances on the * same Outpost only. For more information, Amazon * EBS local snapshots on Outposts in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& AddBlockDeviceMappings(BlockDeviceMapping&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(std::move(value)); return *this; } /** *A description for your AMI.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *A description for your AMI.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *A description for your AMI.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *A description for your AMI.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *A description for your AMI.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *A description for your AMI.
*/ inline RegisterImageRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *A description for your AMI.
*/ inline RegisterImageRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *A description for your AMI.
*/ inline RegisterImageRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
Checks whether you have the required permissions for the action, without
* actually making the request, and provides an error response. If you have the
* required permissions, the error response is DryRunOperation.
* Otherwise, it is UnauthorizedOperation.
Set to true to enable enhanced networking with ENA for the AMI
* and any instances that you launch from the AMI.
This option is supported * only for HVM AMIs. Specifying this option with a PV AMI can make instances * launched from the AMI unreachable.
*/ inline bool GetEnaSupport() const{ return m_enaSupport; } /** *Set to true to enable enhanced networking with ENA for the AMI
* and any instances that you launch from the AMI.
This option is supported * only for HVM AMIs. Specifying this option with a PV AMI can make instances * launched from the AMI unreachable.
*/ inline bool EnaSupportHasBeenSet() const { return m_enaSupportHasBeenSet; } /** *Set to true to enable enhanced networking with ENA for the AMI
* and any instances that you launch from the AMI.
This option is supported * only for HVM AMIs. Specifying this option with a PV AMI can make instances * launched from the AMI unreachable.
*/ inline void SetEnaSupport(bool value) { m_enaSupportHasBeenSet = true; m_enaSupport = value; } /** *Set to true to enable enhanced networking with ENA for the AMI
* and any instances that you launch from the AMI.
This option is supported * only for HVM AMIs. Specifying this option with a PV AMI can make instances * launched from the AMI unreachable.
*/ inline RegisterImageRequest& WithEnaSupport(bool value) { SetEnaSupport(value); return *this;} /** *The ID of the kernel.
*/ inline const Aws::String& GetKernelId() const{ return m_kernelId; } /** *The ID of the kernel.
*/ inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; } /** *The ID of the kernel.
*/ inline void SetKernelId(const Aws::String& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; } /** *The ID of the kernel.
*/ inline void SetKernelId(Aws::String&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::move(value); } /** *The ID of the kernel.
*/ inline void SetKernelId(const char* value) { m_kernelIdHasBeenSet = true; m_kernelId.assign(value); } /** *The ID of the kernel.
*/ inline RegisterImageRequest& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;} /** *The ID of the kernel.
*/ inline RegisterImageRequest& WithKernelId(Aws::String&& value) { SetKernelId(std::move(value)); return *this;} /** *The ID of the kernel.
*/ inline RegisterImageRequest& WithKernelId(const char* value) { SetKernelId(value); return *this;} /** *A name for your AMI.
Constraints: 3-128 alphanumeric characters, * parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), * dashes (-), single quotes ('), at-signs (@), or underscores(_)
*/ inline const Aws::String& GetName() const{ return m_name; } /** *A name for your AMI.
Constraints: 3-128 alphanumeric characters, * parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), * dashes (-), single quotes ('), at-signs (@), or underscores(_)
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *A name for your AMI.
Constraints: 3-128 alphanumeric characters, * parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), * dashes (-), single quotes ('), at-signs (@), or underscores(_)
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *A name for your AMI.
Constraints: 3-128 alphanumeric characters, * parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), * dashes (-), single quotes ('), at-signs (@), or underscores(_)
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *A name for your AMI.
Constraints: 3-128 alphanumeric characters, * parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), * dashes (-), single quotes ('), at-signs (@), or underscores(_)
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *A name for your AMI.
Constraints: 3-128 alphanumeric characters, * parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), * dashes (-), single quotes ('), at-signs (@), or underscores(_)
*/ inline RegisterImageRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *A name for your AMI.
Constraints: 3-128 alphanumeric characters, * parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), * dashes (-), single quotes ('), at-signs (@), or underscores(_)
*/ inline RegisterImageRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *A name for your AMI.
Constraints: 3-128 alphanumeric characters, * parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), * dashes (-), single quotes ('), at-signs (@), or underscores(_)
*/ inline RegisterImageRequest& WithName(const char* value) { SetName(value); return *this;} /** *The billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline const Aws::VectorThe billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline bool BillingProductsHasBeenSet() const { return m_billingProductsHasBeenSet; } /** *The billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline void SetBillingProducts(const Aws::VectorThe billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline void SetBillingProducts(Aws::VectorThe billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline RegisterImageRequest& WithBillingProducts(const Aws::VectorThe billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline RegisterImageRequest& WithBillingProducts(Aws::VectorThe billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline RegisterImageRequest& AddBillingProducts(const Aws::String& value) { m_billingProductsHasBeenSet = true; m_billingProducts.push_back(value); return *this; } /** *The billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline RegisterImageRequest& AddBillingProducts(Aws::String&& value) { m_billingProductsHasBeenSet = true; m_billingProducts.push_back(std::move(value)); return *this; } /** *The billing product codes. Your account must be authorized to specify billing * product codes.
If your account is not authorized to specify billing * product codes, you can publish AMIs that include billable software and list them * on the Amazon Web Services Marketplace. You must first register as a seller on * the Amazon Web Services Marketplace. For more information, see Getting * started as a seller and AMI-based * products in the Amazon Web Services Marketplace Seller Guide.
*/ inline RegisterImageRequest& AddBillingProducts(const char* value) { m_billingProductsHasBeenSet = true; m_billingProducts.push_back(value); return *this; } /** *The ID of the RAM disk.
*/ inline const Aws::String& GetRamdiskId() const{ return m_ramdiskId; } /** *The ID of the RAM disk.
*/ inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; } /** *The ID of the RAM disk.
*/ inline void SetRamdiskId(const Aws::String& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = value; } /** *The ID of the RAM disk.
*/ inline void SetRamdiskId(Aws::String&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::move(value); } /** *The ID of the RAM disk.
*/ inline void SetRamdiskId(const char* value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId.assign(value); } /** *The ID of the RAM disk.
*/ inline RegisterImageRequest& WithRamdiskId(const Aws::String& value) { SetRamdiskId(value); return *this;} /** *The ID of the RAM disk.
*/ inline RegisterImageRequest& WithRamdiskId(Aws::String&& value) { SetRamdiskId(std::move(value)); return *this;} /** *The ID of the RAM disk.
*/ inline RegisterImageRequest& WithRamdiskId(const char* value) { SetRamdiskId(value); return *this;} /** *The device name of the root device volume (for example,
* /dev/sda1).
The device name of the root device volume (for example,
* /dev/sda1).
The device name of the root device volume (for example,
* /dev/sda1).
The device name of the root device volume (for example,
* /dev/sda1).
The device name of the root device volume (for example,
* /dev/sda1).
The device name of the root device volume (for example,
* /dev/sda1).
The device name of the root device volume (for example,
* /dev/sda1).
The device name of the root device volume (for example,
* /dev/sda1).
Set to simple to enable enhanced networking with the Intel 82599
* Virtual Function interface for the AMI and any instances that you launch from
* the AMI.
There is no way to disable sriovNetSupport at this
* time.
This option is supported only for HVM AMIs. Specifying this option * with a PV AMI can make instances launched from the AMI unreachable.
*/ inline const Aws::String& GetSriovNetSupport() const{ return m_sriovNetSupport; } /** *Set to simple to enable enhanced networking with the Intel 82599
* Virtual Function interface for the AMI and any instances that you launch from
* the AMI.
There is no way to disable sriovNetSupport at this
* time.
This option is supported only for HVM AMIs. Specifying this option * with a PV AMI can make instances launched from the AMI unreachable.
*/ inline bool SriovNetSupportHasBeenSet() const { return m_sriovNetSupportHasBeenSet; } /** *Set to simple to enable enhanced networking with the Intel 82599
* Virtual Function interface for the AMI and any instances that you launch from
* the AMI.
There is no way to disable sriovNetSupport at this
* time.
This option is supported only for HVM AMIs. Specifying this option * with a PV AMI can make instances launched from the AMI unreachable.
*/ inline void SetSriovNetSupport(const Aws::String& value) { m_sriovNetSupportHasBeenSet = true; m_sriovNetSupport = value; } /** *Set to simple to enable enhanced networking with the Intel 82599
* Virtual Function interface for the AMI and any instances that you launch from
* the AMI.
There is no way to disable sriovNetSupport at this
* time.
This option is supported only for HVM AMIs. Specifying this option * with a PV AMI can make instances launched from the AMI unreachable.
*/ inline void SetSriovNetSupport(Aws::String&& value) { m_sriovNetSupportHasBeenSet = true; m_sriovNetSupport = std::move(value); } /** *Set to simple to enable enhanced networking with the Intel 82599
* Virtual Function interface for the AMI and any instances that you launch from
* the AMI.
There is no way to disable sriovNetSupport at this
* time.
This option is supported only for HVM AMIs. Specifying this option * with a PV AMI can make instances launched from the AMI unreachable.
*/ inline void SetSriovNetSupport(const char* value) { m_sriovNetSupportHasBeenSet = true; m_sriovNetSupport.assign(value); } /** *Set to simple to enable enhanced networking with the Intel 82599
* Virtual Function interface for the AMI and any instances that you launch from
* the AMI.
There is no way to disable sriovNetSupport at this
* time.
This option is supported only for HVM AMIs. Specifying this option * with a PV AMI can make instances launched from the AMI unreachable.
*/ inline RegisterImageRequest& WithSriovNetSupport(const Aws::String& value) { SetSriovNetSupport(value); return *this;} /** *Set to simple to enable enhanced networking with the Intel 82599
* Virtual Function interface for the AMI and any instances that you launch from
* the AMI.
There is no way to disable sriovNetSupport at this
* time.
This option is supported only for HVM AMIs. Specifying this option * with a PV AMI can make instances launched from the AMI unreachable.
*/ inline RegisterImageRequest& WithSriovNetSupport(Aws::String&& value) { SetSriovNetSupport(std::move(value)); return *this;} /** *Set to simple to enable enhanced networking with the Intel 82599
* Virtual Function interface for the AMI and any instances that you launch from
* the AMI.
There is no way to disable sriovNetSupport at this
* time.
This option is supported only for HVM AMIs. Specifying this option * with a PV AMI can make instances launched from the AMI unreachable.
*/ inline RegisterImageRequest& WithSriovNetSupport(const char* value) { SetSriovNetSupport(value); return *this;} /** *The type of virtualization (hvm | paravirtual).
Default: paravirtual
The type of virtualization (hvm | paravirtual).
Default: paravirtual
The type of virtualization (hvm | paravirtual).
Default: paravirtual
The type of virtualization (hvm | paravirtual).
Default: paravirtual
The type of virtualization (hvm | paravirtual).
Default: paravirtual
The type of virtualization (hvm | paravirtual).
Default: paravirtual
The type of virtualization (hvm | paravirtual).
Default: paravirtual
The type of virtualization (hvm | paravirtual).
Default: paravirtual
The boot mode of the AMI. A value of uefi-preferred indicates
* that the AMI supports both UEFI and Legacy BIOS.
The operating * system contained in the AMI must be configured to support the specified boot * mode.
For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline const BootModeValues& GetBootMode() const{ return m_bootMode; } /** *The boot mode of the AMI. A value of uefi-preferred indicates
* that the AMI supports both UEFI and Legacy BIOS.
The operating * system contained in the AMI must be configured to support the specified boot * mode.
For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline bool BootModeHasBeenSet() const { return m_bootModeHasBeenSet; } /** *The boot mode of the AMI. A value of uefi-preferred indicates
* that the AMI supports both UEFI and Legacy BIOS.
The operating * system contained in the AMI must be configured to support the specified boot * mode.
For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline void SetBootMode(const BootModeValues& value) { m_bootModeHasBeenSet = true; m_bootMode = value; } /** *The boot mode of the AMI. A value of uefi-preferred indicates
* that the AMI supports both UEFI and Legacy BIOS.
The operating * system contained in the AMI must be configured to support the specified boot * mode.
For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline void SetBootMode(BootModeValues&& value) { m_bootModeHasBeenSet = true; m_bootMode = std::move(value); } /** *The boot mode of the AMI. A value of uefi-preferred indicates
* that the AMI supports both UEFI and Legacy BIOS.
The operating * system contained in the AMI must be configured to support the specified boot * mode.
For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& WithBootMode(const BootModeValues& value) { SetBootMode(value); return *this;} /** *The boot mode of the AMI. A value of uefi-preferred indicates
* that the AMI supports both UEFI and Legacy BIOS.
The operating * system contained in the AMI must be configured to support the specified boot * mode.
For more information, see Boot * modes in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& WithBootMode(BootModeValues&& value) { SetBootMode(std::move(value)); return *this;} /** *Set to v2.0 to enable Trusted Platform Module (TPM) support. For
* more information, see NitroTPM
* in the Amazon EC2 User Guide.
Set to v2.0 to enable Trusted Platform Module (TPM) support. For
* more information, see NitroTPM
* in the Amazon EC2 User Guide.
Set to v2.0 to enable Trusted Platform Module (TPM) support. For
* more information, see NitroTPM
* in the Amazon EC2 User Guide.
Set to v2.0 to enable Trusted Platform Module (TPM) support. For
* more information, see NitroTPM
* in the Amazon EC2 User Guide.
Set to v2.0 to enable Trusted Platform Module (TPM) support. For
* more information, see NitroTPM
* in the Amazon EC2 User Guide.
Set to v2.0 to enable Trusted Platform Module (TPM) support. For
* more information, see NitroTPM
* in the Amazon EC2 User Guide.
Base64 representation of the non-volatile UEFI variable store. To retrieve * the UEFI data, use the GetInstanceUefiData * command. You can inspect and modify the UEFI data by using the python-uefivars tool on * GitHub. For more information, see UEFI * Secure Boot in the Amazon EC2 User Guide.
*/ inline const Aws::String& GetUefiData() const{ return m_uefiData; } /** *Base64 representation of the non-volatile UEFI variable store. To retrieve * the UEFI data, use the GetInstanceUefiData * command. You can inspect and modify the UEFI data by using the python-uefivars tool on * GitHub. For more information, see UEFI * Secure Boot in the Amazon EC2 User Guide.
*/ inline bool UefiDataHasBeenSet() const { return m_uefiDataHasBeenSet; } /** *Base64 representation of the non-volatile UEFI variable store. To retrieve * the UEFI data, use the GetInstanceUefiData * command. You can inspect and modify the UEFI data by using the python-uefivars tool on * GitHub. For more information, see UEFI * Secure Boot in the Amazon EC2 User Guide.
*/ inline void SetUefiData(const Aws::String& value) { m_uefiDataHasBeenSet = true; m_uefiData = value; } /** *Base64 representation of the non-volatile UEFI variable store. To retrieve * the UEFI data, use the GetInstanceUefiData * command. You can inspect and modify the UEFI data by using the python-uefivars tool on * GitHub. For more information, see UEFI * Secure Boot in the Amazon EC2 User Guide.
*/ inline void SetUefiData(Aws::String&& value) { m_uefiDataHasBeenSet = true; m_uefiData = std::move(value); } /** *Base64 representation of the non-volatile UEFI variable store. To retrieve * the UEFI data, use the GetInstanceUefiData * command. You can inspect and modify the UEFI data by using the python-uefivars tool on * GitHub. For more information, see UEFI * Secure Boot in the Amazon EC2 User Guide.
*/ inline void SetUefiData(const char* value) { m_uefiDataHasBeenSet = true; m_uefiData.assign(value); } /** *Base64 representation of the non-volatile UEFI variable store. To retrieve * the UEFI data, use the GetInstanceUefiData * command. You can inspect and modify the UEFI data by using the python-uefivars tool on * GitHub. For more information, see UEFI * Secure Boot in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& WithUefiData(const Aws::String& value) { SetUefiData(value); return *this;} /** *Base64 representation of the non-volatile UEFI variable store. To retrieve * the UEFI data, use the GetInstanceUefiData * command. You can inspect and modify the UEFI data by using the python-uefivars tool on * GitHub. For more information, see UEFI * Secure Boot in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& WithUefiData(Aws::String&& value) { SetUefiData(std::move(value)); return *this;} /** *Base64 representation of the non-volatile UEFI variable store. To retrieve * the UEFI data, use the GetInstanceUefiData * command. You can inspect and modify the UEFI data by using the python-uefivars tool on * GitHub. For more information, see UEFI * Secure Boot in the Amazon EC2 User Guide.
*/ inline RegisterImageRequest& WithUefiData(const char* value) { SetUefiData(value); return *this;} /** *Set to v2.0 to indicate that IMDSv2 is specified in the AMI.
* Instances launched from this AMI will have HttpTokens automatically
* set to required so that, by default, the instance requires that
* IMDSv2 is used when requesting instance metadata. In addition,
* HttpPutResponseHopLimit is set to 2. For more
* information, see Configure
* the AMI in the Amazon EC2 User Guide.
If you set the
* value to v2.0, make sure that your AMI software can support
* IMDSv2.
Set to v2.0 to indicate that IMDSv2 is specified in the AMI.
* Instances launched from this AMI will have HttpTokens automatically
* set to required so that, by default, the instance requires that
* IMDSv2 is used when requesting instance metadata. In addition,
* HttpPutResponseHopLimit is set to 2. For more
* information, see Configure
* the AMI in the Amazon EC2 User Guide.
If you set the
* value to v2.0, make sure that your AMI software can support
* IMDSv2.
Set to v2.0 to indicate that IMDSv2 is specified in the AMI.
* Instances launched from this AMI will have HttpTokens automatically
* set to required so that, by default, the instance requires that
* IMDSv2 is used when requesting instance metadata. In addition,
* HttpPutResponseHopLimit is set to 2. For more
* information, see Configure
* the AMI in the Amazon EC2 User Guide.
If you set the
* value to v2.0, make sure that your AMI software can support
* IMDSv2.
Set to v2.0 to indicate that IMDSv2 is specified in the AMI.
* Instances launched from this AMI will have HttpTokens automatically
* set to required so that, by default, the instance requires that
* IMDSv2 is used when requesting instance metadata. In addition,
* HttpPutResponseHopLimit is set to 2. For more
* information, see Configure
* the AMI in the Amazon EC2 User Guide.
If you set the
* value to v2.0, make sure that your AMI software can support
* IMDSv2.
Set to v2.0 to indicate that IMDSv2 is specified in the AMI.
* Instances launched from this AMI will have HttpTokens automatically
* set to required so that, by default, the instance requires that
* IMDSv2 is used when requesting instance metadata. In addition,
* HttpPutResponseHopLimit is set to 2. For more
* information, see Configure
* the AMI in the Amazon EC2 User Guide.
If you set the
* value to v2.0, make sure that your AMI software can support
* IMDSv2.
Set to v2.0 to indicate that IMDSv2 is specified in the AMI.
* Instances launched from this AMI will have HttpTokens automatically
* set to required so that, by default, the instance requires that
* IMDSv2 is used when requesting instance metadata. In addition,
* HttpPutResponseHopLimit is set to 2. For more
* information, see Configure
* the AMI in the Amazon EC2 User Guide.
If you set the
* value to v2.0, make sure that your AMI software can support
* IMDSv2.