/* * 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.securityhub.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Parameters that are used to automatically set up EBS volumes when an instance is launched. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails implements Serializable, Cloneable, StructuredPojo { /** *

* Whether to delete the volume when the instance is terminated. *

*/ private Boolean deleteOnTermination; /** *

* Whether to encrypt the volume. *

*/ private Boolean encrypted; /** *

* The number of input/output (I/O) operations per second (IOPS) to provision for the volume. *

*

* Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used * with standard, gp2, st1, or sc1 volumes. *

*/ private Integer iops; /** *

* The snapshot ID of the volume to use. *

*

* You must specify either VolumeSize or SnapshotId. *

*/ private String snapshotId; /** *

* The volume size, in GiBs. The following are the supported volumes sizes for each volume type: *

* *

* You must specify either SnapshotId or VolumeSize. If you specify both * SnapshotId and VolumeSize, the volume size must be equal or greater than the size of * the snapshot. *

*/ private Integer volumeSize; /** *

* The volume type. Valid values are as follows: *

* */ private String volumeType; /** *

* Whether to delete the volume when the instance is terminated. *

* * @param deleteOnTermination * Whether to delete the volume when the instance is terminated. */ public void setDeleteOnTermination(Boolean deleteOnTermination) { this.deleteOnTermination = deleteOnTermination; } /** *

* Whether to delete the volume when the instance is terminated. *

* * @return Whether to delete the volume when the instance is terminated. */ public Boolean getDeleteOnTermination() { return this.deleteOnTermination; } /** *

* Whether to delete the volume when the instance is terminated. *

* * @param deleteOnTermination * Whether to delete the volume when the instance is terminated. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails withDeleteOnTermination(Boolean deleteOnTermination) { setDeleteOnTermination(deleteOnTermination); return this; } /** *

* Whether to delete the volume when the instance is terminated. *

* * @return Whether to delete the volume when the instance is terminated. */ public Boolean isDeleteOnTermination() { return this.deleteOnTermination; } /** *

* Whether to encrypt the volume. *

* * @param encrypted * Whether to encrypt the volume. */ public void setEncrypted(Boolean encrypted) { this.encrypted = encrypted; } /** *

* Whether to encrypt the volume. *

* * @return Whether to encrypt the volume. */ public Boolean getEncrypted() { return this.encrypted; } /** *

* Whether to encrypt the volume. *

* * @param encrypted * Whether to encrypt the volume. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails withEncrypted(Boolean encrypted) { setEncrypted(encrypted); return this; } /** *

* Whether to encrypt the volume. *

* * @return Whether to encrypt the volume. */ public Boolean isEncrypted() { return this.encrypted; } /** *

* The number of input/output (I/O) operations per second (IOPS) to provision for the volume. *

*

* Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used * with standard, gp2, st1, or sc1 volumes. *

* * @param iops * The number of input/output (I/O) operations per second (IOPS) to provision for the volume.

*

* Only supported for gp3 or io1 volumes. Required for io1 volumes. * Not used with standard, gp2, st1, or sc1 volumes. */ public void setIops(Integer iops) { this.iops = iops; } /** *

* The number of input/output (I/O) operations per second (IOPS) to provision for the volume. *

*

* Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used * with standard, gp2, st1, or sc1 volumes. *

* * @return The number of input/output (I/O) operations per second (IOPS) to provision for the volume.

*

* Only supported for gp3 or io1 volumes. Required for io1 volumes. * Not used with standard, gp2, st1, or sc1 volumes. */ public Integer getIops() { return this.iops; } /** *

* The number of input/output (I/O) operations per second (IOPS) to provision for the volume. *

*

* Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used * with standard, gp2, st1, or sc1 volumes. *

* * @param iops * The number of input/output (I/O) operations per second (IOPS) to provision for the volume.

*

* Only supported for gp3 or io1 volumes. Required for io1 volumes. * Not used with standard, gp2, st1, or sc1 volumes. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails withIops(Integer iops) { setIops(iops); return this; } /** *

* The snapshot ID of the volume to use. *

*

* You must specify either VolumeSize or SnapshotId. *

* * @param snapshotId * The snapshot ID of the volume to use.

*

* You must specify either VolumeSize or SnapshotId. */ public void setSnapshotId(String snapshotId) { this.snapshotId = snapshotId; } /** *

* The snapshot ID of the volume to use. *

*

* You must specify either VolumeSize or SnapshotId. *

* * @return The snapshot ID of the volume to use.

*

* You must specify either VolumeSize or SnapshotId. */ public String getSnapshotId() { return this.snapshotId; } /** *

* The snapshot ID of the volume to use. *

*

* You must specify either VolumeSize or SnapshotId. *

* * @param snapshotId * The snapshot ID of the volume to use.

*

* You must specify either VolumeSize or SnapshotId. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails withSnapshotId(String snapshotId) { setSnapshotId(snapshotId); return this; } /** *

* The volume size, in GiBs. The following are the supported volumes sizes for each volume type: *

* *

* You must specify either SnapshotId or VolumeSize. If you specify both * SnapshotId and VolumeSize, the volume size must be equal or greater than the size of * the snapshot. *

* * @param volumeSize * The volume size, in GiBs. The following are the supported volumes sizes for each volume type:

* *

* You must specify either SnapshotId or VolumeSize. If you specify both * SnapshotId and VolumeSize, the volume size must be equal or greater than the * size of the snapshot. */ public void setVolumeSize(Integer volumeSize) { this.volumeSize = volumeSize; } /** *

* The volume size, in GiBs. The following are the supported volumes sizes for each volume type: *

* *

* You must specify either SnapshotId or VolumeSize. If you specify both * SnapshotId and VolumeSize, the volume size must be equal or greater than the size of * the snapshot. *

* * @return The volume size, in GiBs. The following are the supported volumes sizes for each volume type:

* *

* You must specify either SnapshotId or VolumeSize. If you specify both * SnapshotId and VolumeSize, the volume size must be equal or greater than the * size of the snapshot. */ public Integer getVolumeSize() { return this.volumeSize; } /** *

* The volume size, in GiBs. The following are the supported volumes sizes for each volume type: *

* *

* You must specify either SnapshotId or VolumeSize. If you specify both * SnapshotId and VolumeSize, the volume size must be equal or greater than the size of * the snapshot. *

* * @param volumeSize * The volume size, in GiBs. The following are the supported volumes sizes for each volume type:

* *

* You must specify either SnapshotId or VolumeSize. If you specify both * SnapshotId and VolumeSize, the volume size must be equal or greater than the * size of the snapshot. * @return Returns a reference to this object so that method calls can be chained together. */ public AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails withVolumeSize(Integer volumeSize) { setVolumeSize(volumeSize); return this; } /** *

* The volume type. Valid values are as follows: *

* * * @param volumeType * The volume type. Valid values are as follows:

*