All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.autoscaling.model.Ebs Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.autoscaling.model;

import java.io.Serializable;

/**
 * 

* Describes an Amazon EBS volume. *

*/ public class Ebs implements Serializable, Cloneable { /** *

* The ID of the snapshot. *

*/ private String snapshotId; /** *

* The volume size, in GiB. For standard volumes, specify a * value from 1 to 1,024. For io1 volumes, specify a value from * 4 to 16,384. For gp2 volumes, specify a value from 1 to * 16,384. If you specify a snapshot, the volume size must be equal to or * larger than the snapshot size. *

*

* Default: If you create a volume from a snapshot and you don't specify a * volume size, the default is the snapshot size. *

*/ private Integer volumeSize; /** *

* The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User * Guide. *

*

* Valid values: standard | io1 | gp2 *

*

* Default: standard *

*/ private String volumeType; /** *

* Indicates whether the volume is deleted on instance termination. *

*

* Default: true *

*/ private Boolean deleteOnTermination; /** *

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

*

* Constraint: Required when the volume type is io1. *

*/ private Integer iops; /** *

* Indicates whether the volume should be encrypted. Encrypted EBS volumes * must be attached to instances that support Amazon EBS encryption. Volumes * that are created from encrypted snapshots are automatically encrypted. * There is no way to create an encrypted volume from an unencrypted * snapshot or an unencrypted volume from an encrypted snapshot. For more * information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

*/ private Boolean encrypted; /** *

* The ID of the snapshot. *

* * @param snapshotId * The ID of the snapshot. */ public void setSnapshotId(String snapshotId) { this.snapshotId = snapshotId; } /** *

* The ID of the snapshot. *

* * @return The ID of the snapshot. */ public String getSnapshotId() { return this.snapshotId; } /** *

* The ID of the snapshot. *

* * @param snapshotId * The ID of the snapshot. * @return Returns a reference to this object so that method calls can be * chained together. */ public Ebs withSnapshotId(String snapshotId) { setSnapshotId(snapshotId); return this; } /** *

* The volume size, in GiB. For standard volumes, specify a * value from 1 to 1,024. For io1 volumes, specify a value from * 4 to 16,384. For gp2 volumes, specify a value from 1 to * 16,384. If you specify a snapshot, the volume size must be equal to or * larger than the snapshot size. *

*

* Default: If you create a volume from a snapshot and you don't specify a * volume size, the default is the snapshot size. *

* * @param volumeSize * The volume size, in GiB. For standard volumes, * specify a value from 1 to 1,024. For io1 volumes, * specify a value from 4 to 16,384. For gp2 volumes, * specify a value from 1 to 16,384. If you specify a snapshot, the * volume size must be equal to or larger than the snapshot size.

*

* Default: If you create a volume from a snapshot and you don't * specify a volume size, the default is the snapshot size. */ public void setVolumeSize(Integer volumeSize) { this.volumeSize = volumeSize; } /** *

* The volume size, in GiB. For standard volumes, specify a * value from 1 to 1,024. For io1 volumes, specify a value from * 4 to 16,384. For gp2 volumes, specify a value from 1 to * 16,384. If you specify a snapshot, the volume size must be equal to or * larger than the snapshot size. *

*

* Default: If you create a volume from a snapshot and you don't specify a * volume size, the default is the snapshot size. *

* * @return The volume size, in GiB. For standard volumes, * specify a value from 1 to 1,024. For io1 volumes, * specify a value from 4 to 16,384. For gp2 volumes, * specify a value from 1 to 16,384. If you specify a snapshot, the * volume size must be equal to or larger than the snapshot * size.

*

* Default: If you create a volume from a snapshot and you don't * specify a volume size, the default is the snapshot size. */ public Integer getVolumeSize() { return this.volumeSize; } /** *

* The volume size, in GiB. For standard volumes, specify a * value from 1 to 1,024. For io1 volumes, specify a value from * 4 to 16,384. For gp2 volumes, specify a value from 1 to * 16,384. If you specify a snapshot, the volume size must be equal to or * larger than the snapshot size. *

*

* Default: If you create a volume from a snapshot and you don't specify a * volume size, the default is the snapshot size. *

* * @param volumeSize * The volume size, in GiB. For standard volumes, * specify a value from 1 to 1,024. For io1 volumes, * specify a value from 4 to 16,384. For gp2 volumes, * specify a value from 1 to 16,384. If you specify a snapshot, the * volume size must be equal to or larger than the snapshot size.

*

* Default: If you create a volume from a snapshot and you don't * specify a volume size, the default is the snapshot size. * @return Returns a reference to this object so that method calls can be * chained together. */ public Ebs withVolumeSize(Integer volumeSize) { setVolumeSize(volumeSize); return this; } /** *

* The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User * Guide. *

*

* Valid values: standard | io1 | gp2 *

*

* Default: standard *

* * @param volumeType * The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute * Cloud User Guide.

*

* Valid values: standard | io1 | * gp2 *

*

* Default: standard */ public void setVolumeType(String volumeType) { this.volumeType = volumeType; } /** *

* The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User * Guide. *

*

* Valid values: standard | io1 | gp2 *

*

* Default: standard *

* * @return The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute * Cloud User Guide.

*

* Valid values: standard | io1 | * gp2 *

*

* Default: standard */ public String getVolumeType() { return this.volumeType; } /** *

* The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User * Guide. *

*

* Valid values: standard | io1 | gp2 *

*

* Default: standard *

* * @param volumeType * The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute * Cloud User Guide.

*

* Valid values: standard | io1 | * gp2 *

*

* Default: standard * @return Returns a reference to this object so that method calls can be * chained together. */ public Ebs withVolumeType(String volumeType) { setVolumeType(volumeType); return this; } /** *

* Indicates whether the volume is deleted on instance termination. *

*

* Default: true *

* * @param deleteOnTermination * Indicates whether the volume is deleted on instance * termination.

*

* Default: true */ public void setDeleteOnTermination(Boolean deleteOnTermination) { this.deleteOnTermination = deleteOnTermination; } /** *

* Indicates whether the volume is deleted on instance termination. *

*

* Default: true *

* * @return Indicates whether the volume is deleted on instance * termination.

*

* Default: true */ public Boolean getDeleteOnTermination() { return this.deleteOnTermination; } /** *

* Indicates whether the volume is deleted on instance termination. *

*

* Default: true *

* * @param deleteOnTermination * Indicates whether the volume is deleted on instance * termination.

*

* Default: true * @return Returns a reference to this object so that method calls can be * chained together. */ public Ebs withDeleteOnTermination(Boolean deleteOnTermination) { setDeleteOnTermination(deleteOnTermination); return this; } /** *

* Indicates whether the volume is deleted on instance termination. *

*

* Default: true *

* * @return Indicates whether the volume is deleted on instance * termination.

*

* Default: true */ public Boolean isDeleteOnTermination() { return this.deleteOnTermination; } /** *

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

*

* Constraint: Required when the volume type is io1. *

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

*

* Constraint: Required when the volume type is io1. */ public void setIops(Integer iops) { this.iops = iops; } /** *

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

*

* Constraint: Required when the volume type is io1. *

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

*

* Constraint: Required when the volume type is io1. */ public Integer getIops() { return this.iops; } /** *

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

*

* Constraint: Required when the volume type is io1. *

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

*

* Constraint: Required when the volume type is io1. * @return Returns a reference to this object so that method calls can be * chained together. */ public Ebs withIops(Integer iops) { setIops(iops); return this; } /** *

* Indicates whether the volume should be encrypted. Encrypted EBS volumes * must be attached to instances that support Amazon EBS encryption. Volumes * that are created from encrypted snapshots are automatically encrypted. * There is no way to create an encrypted volume from an unencrypted * snapshot or an unencrypted volume from an encrypted snapshot. For more * information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

* * @param encrypted * Indicates whether the volume should be encrypted. Encrypted EBS * volumes must be attached to instances that support Amazon EBS * encryption. Volumes that are created from encrypted snapshots are * automatically encrypted. There is no way to create an encrypted * volume from an unencrypted snapshot or an unencrypted volume from * an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud * User Guide. */ public void setEncrypted(Boolean encrypted) { this.encrypted = encrypted; } /** *

* Indicates whether the volume should be encrypted. Encrypted EBS volumes * must be attached to instances that support Amazon EBS encryption. Volumes * that are created from encrypted snapshots are automatically encrypted. * There is no way to create an encrypted volume from an unencrypted * snapshot or an unencrypted volume from an encrypted snapshot. For more * information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

* * @return Indicates whether the volume should be encrypted. Encrypted EBS * volumes must be attached to instances that support Amazon EBS * encryption. Volumes that are created from encrypted snapshots are * automatically encrypted. There is no way to create an encrypted * volume from an unencrypted snapshot or an unencrypted volume from * an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud * User Guide. */ public Boolean getEncrypted() { return this.encrypted; } /** *

* Indicates whether the volume should be encrypted. Encrypted EBS volumes * must be attached to instances that support Amazon EBS encryption. Volumes * that are created from encrypted snapshots are automatically encrypted. * There is no way to create an encrypted volume from an unencrypted * snapshot or an unencrypted volume from an encrypted snapshot. For more * information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

* * @param encrypted * Indicates whether the volume should be encrypted. Encrypted EBS * volumes must be attached to instances that support Amazon EBS * encryption. Volumes that are created from encrypted snapshots are * automatically encrypted. There is no way to create an encrypted * volume from an unencrypted snapshot or an unencrypted volume from * an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud * User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public Ebs withEncrypted(Boolean encrypted) { setEncrypted(encrypted); return this; } /** *

* Indicates whether the volume should be encrypted. Encrypted EBS volumes * must be attached to instances that support Amazon EBS encryption. Volumes * that are created from encrypted snapshots are automatically encrypted. * There is no way to create an encrypted volume from an unencrypted * snapshot or an unencrypted volume from an encrypted snapshot. For more * information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

* * @return Indicates whether the volume should be encrypted. Encrypted EBS * volumes must be attached to instances that support Amazon EBS * encryption. Volumes that are created from encrypted snapshots are * automatically encrypted. There is no way to create an encrypted * volume from an unencrypted snapshot or an unencrypted volume from * an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud * User Guide. */ public Boolean isEncrypted() { return this.encrypted; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getSnapshotId() != null) sb.append("SnapshotId: " + getSnapshotId() + ","); if (getVolumeSize() != null) sb.append("VolumeSize: " + getVolumeSize() + ","); if (getVolumeType() != null) sb.append("VolumeType: " + getVolumeType() + ","); if (getDeleteOnTermination() != null) sb.append("DeleteOnTermination: " + getDeleteOnTermination() + ","); if (getIops() != null) sb.append("Iops: " + getIops() + ","); if (getEncrypted() != null) sb.append("Encrypted: " + getEncrypted()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Ebs == false) return false; Ebs other = (Ebs) obj; if (other.getSnapshotId() == null ^ this.getSnapshotId() == null) return false; if (other.getSnapshotId() != null && other.getSnapshotId().equals(this.getSnapshotId()) == false) return false; if (other.getVolumeSize() == null ^ this.getVolumeSize() == null) return false; if (other.getVolumeSize() != null && other.getVolumeSize().equals(this.getVolumeSize()) == false) return false; if (other.getVolumeType() == null ^ this.getVolumeType() == null) return false; if (other.getVolumeType() != null && other.getVolumeType().equals(this.getVolumeType()) == false) return false; if (other.getDeleteOnTermination() == null ^ this.getDeleteOnTermination() == null) return false; if (other.getDeleteOnTermination() != null && other.getDeleteOnTermination().equals( this.getDeleteOnTermination()) == false) return false; if (other.getIops() == null ^ this.getIops() == null) return false; if (other.getIops() != null && other.getIops().equals(this.getIops()) == false) return false; if (other.getEncrypted() == null ^ this.getEncrypted() == null) return false; if (other.getEncrypted() != null && other.getEncrypted().equals(this.getEncrypted()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSnapshotId() == null) ? 0 : getSnapshotId().hashCode()); hashCode = prime * hashCode + ((getVolumeSize() == null) ? 0 : getVolumeSize().hashCode()); hashCode = prime * hashCode + ((getVolumeType() == null) ? 0 : getVolumeType().hashCode()); hashCode = prime * hashCode + ((getDeleteOnTermination() == null) ? 0 : getDeleteOnTermination().hashCode()); hashCode = prime * hashCode + ((getIops() == null) ? 0 : getIops().hashCode()); hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode()); return hashCode; } @Override public Ebs clone() { try { return (Ebs) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy