/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ec2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; import com.amazonaws.Request; import com.amazonaws.services.ec2.model.transform.RegisterImageRequestMarshaller; /** *
* Contains the parameters for RegisterImage. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class RegisterImageRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest
* 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 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. *
*/ private com.amazonaws.internal.SdkInternalList* A description for your AMI. *
*/ private String description; /** *
* 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. *
*/ private Boolean enaSupport; /** ** The ID of the kernel. *
*/ private String kernelId; /** ** A name for your AMI. *
** Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), * slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_) *
*/ private String name; /** ** 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. *
*/ private com.amazonaws.internal.SdkInternalList* The ID of the RAM disk. *
*/ private String ramdiskId; /** *
* 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. *
*/ private String sriovNetSupport; /** *
* 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. *
*/ private String bootMode; /** *
* 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. *
*/ private String uefiData; /** *
* 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.
*
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.
*/
public RegisterImageRequest(String imageLocation) {
setImageLocation(imageLocation);
}
/**
*
* 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.
*
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.
*/
public void setImageLocation(String imageLocation) {
this.imageLocation = imageLocation;
}
/**
*
* 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.
*
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.
*/
public String getImageLocation() {
return this.imageLocation;
}
/**
*
* 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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegisterImageRequest withImageLocation(String imageLocation) {
setImageLocation(imageLocation);
return this;
}
/**
* * The architecture of the AMI. *
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
* @see ArchitectureValues
*/
public void setArchitecture(String architecture) {
this.architecture = architecture;
}
/**
*
* The architecture of the AMI. *
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
* @see ArchitectureValues
*/
public String getArchitecture() {
return this.architecture;
}
/**
*
* The architecture of the AMI. *
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ArchitectureValues
*/
public RegisterImageRequest withArchitecture(String architecture) {
setArchitecture(architecture);
return this;
}
/**
*
* The architecture of the AMI. *
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
* @see ArchitectureValues
*/
public void setArchitecture(ArchitectureValues architecture) {
withArchitecture(architecture);
}
/**
*
* The architecture of the AMI. *
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
*
* Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture
* specified in the manifest file.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ArchitectureValues
*/
public RegisterImageRequest withArchitecture(ArchitectureValues architecture) {
this.architecture = architecture.toString();
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. *
* * @return 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.
*/
public java.util.List
* 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.
*
* 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.
*/
public void setBlockDeviceMappings(java.util.Collection
* 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.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setBlockDeviceMappings(java.util.Collection)} or {@link #withBlockDeviceMappings(java.util.Collection)}
* if you want to override the existing values.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegisterImageRequest withBlockDeviceMappings(BlockDeviceMapping... blockDeviceMappings) {
if (this.blockDeviceMappings == null) {
setBlockDeviceMappings(new com.amazonaws.internal.SdkInternalList
* 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.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegisterImageRequest withBlockDeviceMappings(java.util.Collection
* A description for your AMI.
*
* A description for your AMI.
*
* A description for your AMI.
*
* Set to
* This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from
* the AMI unreachable.
* true to enable enhanced networking with ENA for the AMI and any instances that you launch
* from the AMI.
* 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. */ public void setEnaSupport(Boolean enaSupport) { this.enaSupport = 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. *
* * @return Set totrue 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. */ public Boolean getEnaSupport() { return this.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. *
* * @param enaSupport * Set totrue 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. * @return Returns a reference to this object so that method calls can be chained together. */ public RegisterImageRequest withEnaSupport(Boolean enaSupport) { setEnaSupport(enaSupport); return this; } /** *
* 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. *
* * @return Set totrue 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. */ public Boolean isEnaSupport() { return this.enaSupport; } /** *
* The ID of the kernel. *
* * @param kernelId * The ID of the kernel. */ public void setKernelId(String kernelId) { this.kernelId = kernelId; } /** ** The ID of the kernel. *
* * @return The ID of the kernel. */ public String getKernelId() { return this.kernelId; } /** ** The ID of the kernel. *
* * @param kernelId * The ID of the kernel. * @return Returns a reference to this object so that method calls can be chained together. */ public RegisterImageRequest withKernelId(String kernelId) { setKernelId(kernelId); 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(_) *
* * @param name * A name for your AMI. ** Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods * (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_) */ public void setName(String name) { this.name = name; } /** *
* A name for your AMI. *
** Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), * slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_) *
* * @return A name for your AMI. ** Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods * (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_) */ public String getName() { return this.name; } /** *
* A name for your AMI. *
** Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), * slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_) *
* * @param name * A name for your AMI. ** Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods * (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_) * @return Returns a reference to this object so that method calls can be chained together. */ public RegisterImageRequest withName(String name) { setName(name); 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. *
* * @return 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.
*/
public java.util.List
* 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.
*
* 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.
*/
public void setBillingProducts(java.util.Collection
* 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.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setBillingProducts(java.util.Collection)} or {@link #withBillingProducts(java.util.Collection)} if you
* want to override the existing values.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegisterImageRequest withBillingProducts(String... billingProducts) {
if (this.billingProducts == null) {
setBillingProducts(new com.amazonaws.internal.SdkInternalList
* 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.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegisterImageRequest withBillingProducts(java.util.Collection
* The ID of the RAM disk.
*
* The ID of the RAM disk.
*
* The ID of the RAM disk.
*
* The device name of the root device volume (for example,
* The device name of the root device volume (for example,
* The device name of the root device volume (for example,
* Set to
* There is no way to disable
* This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from
* the AMI unreachable.
* /dev/sda1).
* /dev/sda1).
*/
public void setRootDeviceName(String rootDeviceName) {
this.rootDeviceName = rootDeviceName;
}
/**
* /dev/sda1).
* /dev/sda1).
*/
public String getRootDeviceName() {
return this.rootDeviceName;
}
/**
* /dev/sda1).
* /dev/sda1).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegisterImageRequest withRootDeviceName(String rootDeviceName) {
setRootDeviceName(rootDeviceName);
return this;
}
/**
* simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the
* AMI and any instances that you launch from the AMI.
* sriovNetSupport at this time.
* 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. */ public void setSriovNetSupport(String sriovNetSupport) { this.sriovNetSupport = 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. *
* * @return Set tosimple 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. */ public String getSriovNetSupport() { return this.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. *
* * @param sriovNetSupport * Set tosimple 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. * @return Returns a reference to this object so that method calls can be chained together. */ public RegisterImageRequest withSriovNetSupport(String sriovNetSupport) { setSriovNetSupport(sriovNetSupport); return this; } /** *
* The type of virtualization (hvm | paravirtual).
*
* Default: paravirtual
*
hvm | paravirtual).
*
* Default: paravirtual
*/
public void setVirtualizationType(String virtualizationType) {
this.virtualizationType = virtualizationType;
}
/**
*
* The type of virtualization (hvm | paravirtual).
*
* Default: paravirtual
*
hvm | paravirtual).
*
* Default: paravirtual
*/
public String getVirtualizationType() {
return this.virtualizationType;
}
/**
*
* The type of virtualization (hvm | paravirtual).
*
* Default: paravirtual
*
hvm | paravirtual).
*
* Default: paravirtual
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RegisterImageRequest withVirtualizationType(String virtualizationType) {
setVirtualizationType(virtualizationType);
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. *
* * @param bootMode * The boot mode of the AMI. A value ofuefi-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. * @see BootModeValues */ public void setBootMode(String bootMode) { this.bootMode = 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. *
* * @return The boot mode of the AMI. A value ofuefi-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. * @see BootModeValues */ public String getBootMode() { return this.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. *
* * @param bootMode * The boot mode of the AMI. A value ofuefi-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. * @return Returns a reference to this object so that method calls can be chained together. * @see BootModeValues */ public RegisterImageRequest withBootMode(String bootMode) { setBootMode(bootMode); 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. *
* * @param bootMode * The boot mode of the AMI. A value ofuefi-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. * @see BootModeValues */ public void setBootMode(BootModeValues bootMode) { withBootMode(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. *
* * @param bootMode * The boot mode of the AMI. A value ofuefi-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. * @return Returns a reference to this object so that method calls can be chained together. * @see BootModeValues */ public RegisterImageRequest withBootMode(BootModeValues bootMode) { this.bootMode = bootMode.toString(); return this; } /** *
* Set to v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2 User
* Guide.
*
v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2
* User Guide.
* @see TpmSupportValues
*/
public void setTpmSupport(String tpmSupport) {
this.tpmSupport = tpmSupport;
}
/**
*
* Set to v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2 User
* Guide.
*
v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon
* EC2 User Guide.
* @see TpmSupportValues
*/
public String getTpmSupport() {
return this.tpmSupport;
}
/**
*
* Set to v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2 User
* Guide.
*
v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2
* User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TpmSupportValues
*/
public RegisterImageRequest withTpmSupport(String tpmSupport) {
setTpmSupport(tpmSupport);
return this;
}
/**
*
* Set to v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2 User
* Guide.
*
v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2
* User Guide.
* @see TpmSupportValues
*/
public void setTpmSupport(TpmSupportValues tpmSupport) {
withTpmSupport(tpmSupport);
}
/**
*
* Set to v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2 User
* Guide.
*
v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2
* User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
* @see TpmSupportValues
*/
public RegisterImageRequest withTpmSupport(TpmSupportValues tpmSupport) {
this.tpmSupport = tpmSupport.toString();
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. *
* * @param 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. */ public void setUefiData(String uefiData) { this.uefiData = 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. *
* * @return 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. */ public String getUefiData() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public RegisterImageRequest withUefiData(String uefiData) { setUefiData(uefiData); 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.
*
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.
*
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.
*
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.
*
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.
*
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.
*