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

com.amazonaws.services.ec2.model.ScheduledInstancesEbs 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.ec2.model;

import java.io.Serializable;

/**
 * 

* Describes an EBS volume for a Scheduled Instance. *

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

* The ID of the snapshot. *

*/ private String snapshotId; /** *

* The size of the volume, in GiB. *

*

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

*/ private Integer volumeSize; /** *

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

*/ private Boolean deleteOnTermination; /** *

* The volume type. gp2 for General Purpose SSD, * io1 for Provisioned IOPS SSD, Throughput Optimized HDD for * st1, Cold HDD for sc1, or standard * for Magnetic. *

*

* Default: standard *

*/ private String volumeType; /** *

* The number of I/O operations per second (IOPS) that the volume supports. * For io1 volumes, this represents the number of IOPS that are provisioned * for the volume. For gp2 volumes, this represents the * baseline performance of the volume and the rate at which the volume * accumulates I/O credits for bursting. For more information about * gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User * Guide. *

*

* Constraint: Range is 100-20000 IOPS for io1 volumes and * 100-10000 IOPS for gp2 volumes. *

*

* Condition: This parameter is required for requests to create * io1volumes; it is not used in requests to create * gp2, st1, sc1, or * standard volumes. *

*/ private Integer iops; /** *

* Indicates whether the volume is encrypted. You can attached encrypted * volumes only to instances that support them. *

*/ 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 ScheduledInstancesEbs withSnapshotId(String snapshotId) { setSnapshotId(snapshotId); return this; } /** *

* The size of the volume, in GiB. *

*

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

* * @param volumeSize * The size of the volume, in GiB.

*

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

* The size of the volume, in GiB. *

*

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

* * @return The size of the volume, in GiB.

*

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

* The size of the volume, in GiB. *

*

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

* * @param volumeSize * The size of the volume, in GiB.

*

* Default: If you're creating the volume from a snapshot and 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 ScheduledInstancesEbs withVolumeSize(Integer volumeSize) { setVolumeSize(volumeSize); return this; } /** *

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

* * @param deleteOnTermination * Indicates whether the volume is deleted on instance termination. */ public void setDeleteOnTermination(Boolean deleteOnTermination) { this.deleteOnTermination = deleteOnTermination; } /** *

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

* * @return Indicates whether the volume is deleted on instance termination. */ public Boolean getDeleteOnTermination() { return this.deleteOnTermination; } /** *

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

* * @param deleteOnTermination * Indicates whether the volume is deleted on instance termination. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesEbs withDeleteOnTermination( Boolean deleteOnTermination) { setDeleteOnTermination(deleteOnTermination); return this; } /** *

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

* * @return Indicates whether the volume is deleted on instance termination. */ public Boolean isDeleteOnTermination() { return this.deleteOnTermination; } /** *

* The volume type. gp2 for General Purpose SSD, * io1 for Provisioned IOPS SSD, Throughput Optimized HDD for * st1, Cold HDD for sc1, or standard * for Magnetic. *

*

* Default: standard *

* * @param volumeType * The volume type. gp2 for General Purpose SSD, * io1 for Provisioned IOPS SSD, Throughput Optimized * HDD for st1, Cold HDD for sc1, or * standard for Magnetic.

*

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

* The volume type. gp2 for General Purpose SSD, * io1 for Provisioned IOPS SSD, Throughput Optimized HDD for * st1, Cold HDD for sc1, or standard * for Magnetic. *

*

* Default: standard *

* * @return The volume type. gp2 for General Purpose SSD, * io1 for Provisioned IOPS SSD, Throughput Optimized * HDD for st1, Cold HDD for sc1, or * standard for Magnetic.

*

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

* The volume type. gp2 for General Purpose SSD, * io1 for Provisioned IOPS SSD, Throughput Optimized HDD for * st1, Cold HDD for sc1, or standard * for Magnetic. *

*

* Default: standard *

* * @param volumeType * The volume type. gp2 for General Purpose SSD, * io1 for Provisioned IOPS SSD, Throughput Optimized * HDD for st1, Cold HDD for sc1, or * standard for Magnetic.

*

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

* The number of I/O operations per second (IOPS) that the volume supports. * For io1 volumes, this represents the number of IOPS that are provisioned * for the volume. For gp2 volumes, this represents the * baseline performance of the volume and the rate at which the volume * accumulates I/O credits for bursting. For more information about * gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User * Guide. *

*

* Constraint: Range is 100-20000 IOPS for io1 volumes and * 100-10000 IOPS for gp2 volumes. *

*

* Condition: This parameter is required for requests to create * io1volumes; it is not used in requests to create * gp2, st1, sc1, or * standard volumes. *

* * @param iops * The number of I/O operations per second (IOPS) that the volume * supports. For io1 volumes, this represents the number of IOPS that * are provisioned for the volume. For gp2 volumes, this * represents the baseline performance of the volume and the rate at * which the volume accumulates I/O credits for bursting. For more * information about gp2 baseline performance, I/O * credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute * Cloud User Guide.

*

* Constraint: Range is 100-20000 IOPS for io1 volumes * and 100-10000 IOPS for gp2 volumes. *

*

* Condition: This parameter is required for requests to create * io1volumes; it is not used in requests to create * gp2, st1, sc1, or * standard volumes. */ public void setIops(Integer iops) { this.iops = iops; } /** *

* The number of I/O operations per second (IOPS) that the volume supports. * For io1 volumes, this represents the number of IOPS that are provisioned * for the volume. For gp2 volumes, this represents the * baseline performance of the volume and the rate at which the volume * accumulates I/O credits for bursting. For more information about * gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User * Guide. *

*

* Constraint: Range is 100-20000 IOPS for io1 volumes and * 100-10000 IOPS for gp2 volumes. *

*

* Condition: This parameter is required for requests to create * io1volumes; it is not used in requests to create * gp2, st1, sc1, or * standard volumes. *

* * @return The number of I/O operations per second (IOPS) that the volume * supports. For io1 volumes, this represents the number of IOPS * that are provisioned for the volume. For gp2 * volumes, this represents the baseline performance of the volume * and the rate at which the volume accumulates I/O credits for * bursting. For more information about gp2 baseline * performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute * Cloud User Guide.

*

* Constraint: Range is 100-20000 IOPS for io1 volumes * and 100-10000 IOPS for gp2 volumes. *

*

* Condition: This parameter is required for requests to create * io1volumes; it is not used in requests to create * gp2, st1, sc1, or * standard volumes. */ public Integer getIops() { return this.iops; } /** *

* The number of I/O operations per second (IOPS) that the volume supports. * For io1 volumes, this represents the number of IOPS that are provisioned * for the volume. For gp2 volumes, this represents the * baseline performance of the volume and the rate at which the volume * accumulates I/O credits for bursting. For more information about * gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User * Guide. *

*

* Constraint: Range is 100-20000 IOPS for io1 volumes and * 100-10000 IOPS for gp2 volumes. *

*

* Condition: This parameter is required for requests to create * io1volumes; it is not used in requests to create * gp2, st1, sc1, or * standard volumes. *

* * @param iops * The number of I/O operations per second (IOPS) that the volume * supports. For io1 volumes, this represents the number of IOPS that * are provisioned for the volume. For gp2 volumes, this * represents the baseline performance of the volume and the rate at * which the volume accumulates I/O credits for bursting. For more * information about gp2 baseline performance, I/O * credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute * Cloud User Guide.

*

* Constraint: Range is 100-20000 IOPS for io1 volumes * and 100-10000 IOPS for gp2 volumes. *

*

* Condition: This parameter is required for requests to create * io1volumes; it is not used in requests to create * gp2, st1, sc1, or * standard volumes. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesEbs withIops(Integer iops) { setIops(iops); return this; } /** *

* Indicates whether the volume is encrypted. You can attached encrypted * volumes only to instances that support them. *

* * @param encrypted * Indicates whether the volume is encrypted. You can attached * encrypted volumes only to instances that support them. */ public void setEncrypted(Boolean encrypted) { this.encrypted = encrypted; } /** *

* Indicates whether the volume is encrypted. You can attached encrypted * volumes only to instances that support them. *

* * @return Indicates whether the volume is encrypted. You can attached * encrypted volumes only to instances that support them. */ public Boolean getEncrypted() { return this.encrypted; } /** *

* Indicates whether the volume is encrypted. You can attached encrypted * volumes only to instances that support them. *

* * @param encrypted * Indicates whether the volume is encrypted. You can attached * encrypted volumes only to instances that support them. * @return Returns a reference to this object so that method calls can be * chained together. */ public ScheduledInstancesEbs withEncrypted(Boolean encrypted) { setEncrypted(encrypted); return this; } /** *

* Indicates whether the volume is encrypted. You can attached encrypted * volumes only to instances that support them. *

* * @return Indicates whether the volume is encrypted. You can attached * encrypted volumes only to instances that support them. */ 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 (getDeleteOnTermination() != null) sb.append("DeleteOnTermination: " + getDeleteOnTermination() + ","); if (getVolumeType() != null) sb.append("VolumeType: " + getVolumeType() + ","); 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 ScheduledInstancesEbs == false) return false; ScheduledInstancesEbs other = (ScheduledInstancesEbs) 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.getDeleteOnTermination() == null ^ this.getDeleteOnTermination() == null) return false; if (other.getDeleteOnTermination() != null && other.getDeleteOnTermination().equals( this.getDeleteOnTermination()) == 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.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 + ((getDeleteOnTermination() == null) ? 0 : getDeleteOnTermination().hashCode()); hashCode = prime * hashCode + ((getVolumeType() == null) ? 0 : getVolumeType().hashCode()); hashCode = prime * hashCode + ((getIops() == null) ? 0 : getIops().hashCode()); hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode()); return hashCode; } @Override public ScheduledInstancesEbs clone() { try { return (ScheduledInstancesEbs) 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