com.amazonaws.services.databasemigrationservice.model.RdsConfiguration Maven / Gradle / Ivy
/*
* Copyright 2019-2024 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.databasemigrationservice.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Provides information that describes the configuration of the recommended target engine on Amazon RDS.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class RdsConfiguration implements Serializable, Cloneable, StructuredPojo {
/**
*
* Describes the recommended target Amazon RDS engine edition.
*
*/
private String engineEdition;
/**
*
* Describes the recommended target Amazon RDS instance type.
*
*/
private String instanceType;
/**
*
* Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB instance that meets your
* requirements.
*
*/
private Double instanceVcpu;
/**
*
* Describes the memory on the recommended Amazon RDS DB instance that meets your requirements.
*
*/
private Double instanceMemory;
/**
*
* Describes the storage type of the recommended Amazon RDS DB instance that meets your requirements.
*
*
* Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD
* (also known as io1), and magnetic (also known as standard).
*
*/
private String storageType;
/**
*
* Describes the storage size of the recommended Amazon RDS DB instance that meets your requirements.
*
*/
private Integer storageSize;
/**
*
* Describes the number of I/O operations completed each second (IOPS) on the recommended Amazon RDS DB instance
* that meets your requirements.
*
*/
private Integer storageIops;
/**
*
* Describes the deployment option for the recommended Amazon RDS DB instance. The deployment options include
* Multi-AZ and Single-AZ deployments. Valid values include "MULTI_AZ"
and "SINGLE_AZ"
.
*
*/
private String deploymentOption;
/**
*
* Describes the recommended target Amazon RDS engine version.
*
*/
private String engineVersion;
/**
*
* Describes the recommended target Amazon RDS engine edition.
*
*
* @param engineEdition
* Describes the recommended target Amazon RDS engine edition.
*/
public void setEngineEdition(String engineEdition) {
this.engineEdition = engineEdition;
}
/**
*
* Describes the recommended target Amazon RDS engine edition.
*
*
* @return Describes the recommended target Amazon RDS engine edition.
*/
public String getEngineEdition() {
return this.engineEdition;
}
/**
*
* Describes the recommended target Amazon RDS engine edition.
*
*
* @param engineEdition
* Describes the recommended target Amazon RDS engine edition.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withEngineEdition(String engineEdition) {
setEngineEdition(engineEdition);
return this;
}
/**
*
* Describes the recommended target Amazon RDS instance type.
*
*
* @param instanceType
* Describes the recommended target Amazon RDS instance type.
*/
public void setInstanceType(String instanceType) {
this.instanceType = instanceType;
}
/**
*
* Describes the recommended target Amazon RDS instance type.
*
*
* @return Describes the recommended target Amazon RDS instance type.
*/
public String getInstanceType() {
return this.instanceType;
}
/**
*
* Describes the recommended target Amazon RDS instance type.
*
*
* @param instanceType
* Describes the recommended target Amazon RDS instance type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withInstanceType(String instanceType) {
setInstanceType(instanceType);
return this;
}
/**
*
* Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB instance that meets your
* requirements.
*
*
* @param instanceVcpu
* Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB instance that meets your
* requirements.
*/
public void setInstanceVcpu(Double instanceVcpu) {
this.instanceVcpu = instanceVcpu;
}
/**
*
* Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB instance that meets your
* requirements.
*
*
* @return Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB instance that meets your
* requirements.
*/
public Double getInstanceVcpu() {
return this.instanceVcpu;
}
/**
*
* Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB instance that meets your
* requirements.
*
*
* @param instanceVcpu
* Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB instance that meets your
* requirements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withInstanceVcpu(Double instanceVcpu) {
setInstanceVcpu(instanceVcpu);
return this;
}
/**
*
* Describes the memory on the recommended Amazon RDS DB instance that meets your requirements.
*
*
* @param instanceMemory
* Describes the memory on the recommended Amazon RDS DB instance that meets your requirements.
*/
public void setInstanceMemory(Double instanceMemory) {
this.instanceMemory = instanceMemory;
}
/**
*
* Describes the memory on the recommended Amazon RDS DB instance that meets your requirements.
*
*
* @return Describes the memory on the recommended Amazon RDS DB instance that meets your requirements.
*/
public Double getInstanceMemory() {
return this.instanceMemory;
}
/**
*
* Describes the memory on the recommended Amazon RDS DB instance that meets your requirements.
*
*
* @param instanceMemory
* Describes the memory on the recommended Amazon RDS DB instance that meets your requirements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withInstanceMemory(Double instanceMemory) {
setInstanceMemory(instanceMemory);
return this;
}
/**
*
* Describes the storage type of the recommended Amazon RDS DB instance that meets your requirements.
*
*
* Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD
* (also known as io1), and magnetic (also known as standard).
*
*
* @param storageType
* Describes the storage type of the recommended Amazon RDS DB instance that meets your requirements.
*
* Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned IOPS
* SSD (also known as io1), and magnetic (also known as standard).
*/
public void setStorageType(String storageType) {
this.storageType = storageType;
}
/**
*
* Describes the storage type of the recommended Amazon RDS DB instance that meets your requirements.
*
*
* Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD
* (also known as io1), and magnetic (also known as standard).
*
*
* @return Describes the storage type of the recommended Amazon RDS DB instance that meets your requirements.
*
* Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned
* IOPS SSD (also known as io1), and magnetic (also known as standard).
*/
public String getStorageType() {
return this.storageType;
}
/**
*
* Describes the storage type of the recommended Amazon RDS DB instance that meets your requirements.
*
*
* Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD
* (also known as io1), and magnetic (also known as standard).
*
*
* @param storageType
* Describes the storage type of the recommended Amazon RDS DB instance that meets your requirements.
*
* Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned IOPS
* SSD (also known as io1), and magnetic (also known as standard).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withStorageType(String storageType) {
setStorageType(storageType);
return this;
}
/**
*
* Describes the storage size of the recommended Amazon RDS DB instance that meets your requirements.
*
*
* @param storageSize
* Describes the storage size of the recommended Amazon RDS DB instance that meets your requirements.
*/
public void setStorageSize(Integer storageSize) {
this.storageSize = storageSize;
}
/**
*
* Describes the storage size of the recommended Amazon RDS DB instance that meets your requirements.
*
*
* @return Describes the storage size of the recommended Amazon RDS DB instance that meets your requirements.
*/
public Integer getStorageSize() {
return this.storageSize;
}
/**
*
* Describes the storage size of the recommended Amazon RDS DB instance that meets your requirements.
*
*
* @param storageSize
* Describes the storage size of the recommended Amazon RDS DB instance that meets your requirements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withStorageSize(Integer storageSize) {
setStorageSize(storageSize);
return this;
}
/**
*
* Describes the number of I/O operations completed each second (IOPS) on the recommended Amazon RDS DB instance
* that meets your requirements.
*
*
* @param storageIops
* Describes the number of I/O operations completed each second (IOPS) on the recommended Amazon RDS DB
* instance that meets your requirements.
*/
public void setStorageIops(Integer storageIops) {
this.storageIops = storageIops;
}
/**
*
* Describes the number of I/O operations completed each second (IOPS) on the recommended Amazon RDS DB instance
* that meets your requirements.
*
*
* @return Describes the number of I/O operations completed each second (IOPS) on the recommended Amazon RDS DB
* instance that meets your requirements.
*/
public Integer getStorageIops() {
return this.storageIops;
}
/**
*
* Describes the number of I/O operations completed each second (IOPS) on the recommended Amazon RDS DB instance
* that meets your requirements.
*
*
* @param storageIops
* Describes the number of I/O operations completed each second (IOPS) on the recommended Amazon RDS DB
* instance that meets your requirements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withStorageIops(Integer storageIops) {
setStorageIops(storageIops);
return this;
}
/**
*
* Describes the deployment option for the recommended Amazon RDS DB instance. The deployment options include
* Multi-AZ and Single-AZ deployments. Valid values include "MULTI_AZ"
and "SINGLE_AZ"
.
*
*
* @param deploymentOption
* Describes the deployment option for the recommended Amazon RDS DB instance. The deployment options include
* Multi-AZ and Single-AZ deployments. Valid values include "MULTI_AZ"
and
* "SINGLE_AZ"
.
*/
public void setDeploymentOption(String deploymentOption) {
this.deploymentOption = deploymentOption;
}
/**
*
* Describes the deployment option for the recommended Amazon RDS DB instance. The deployment options include
* Multi-AZ and Single-AZ deployments. Valid values include "MULTI_AZ"
and "SINGLE_AZ"
.
*
*
* @return Describes the deployment option for the recommended Amazon RDS DB instance. The deployment options
* include Multi-AZ and Single-AZ deployments. Valid values include "MULTI_AZ"
and
* "SINGLE_AZ"
.
*/
public String getDeploymentOption() {
return this.deploymentOption;
}
/**
*
* Describes the deployment option for the recommended Amazon RDS DB instance. The deployment options include
* Multi-AZ and Single-AZ deployments. Valid values include "MULTI_AZ"
and "SINGLE_AZ"
.
*
*
* @param deploymentOption
* Describes the deployment option for the recommended Amazon RDS DB instance. The deployment options include
* Multi-AZ and Single-AZ deployments. Valid values include "MULTI_AZ"
and
* "SINGLE_AZ"
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withDeploymentOption(String deploymentOption) {
setDeploymentOption(deploymentOption);
return this;
}
/**
*
* Describes the recommended target Amazon RDS engine version.
*
*
* @param engineVersion
* Describes the recommended target Amazon RDS engine version.
*/
public void setEngineVersion(String engineVersion) {
this.engineVersion = engineVersion;
}
/**
*
* Describes the recommended target Amazon RDS engine version.
*
*
* @return Describes the recommended target Amazon RDS engine version.
*/
public String getEngineVersion() {
return this.engineVersion;
}
/**
*
* Describes the recommended target Amazon RDS engine version.
*
*
* @param engineVersion
* Describes the recommended target Amazon RDS engine version.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RdsConfiguration withEngineVersion(String engineVersion) {
setEngineVersion(engineVersion);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getEngineEdition() != null)
sb.append("EngineEdition: ").append(getEngineEdition()).append(",");
if (getInstanceType() != null)
sb.append("InstanceType: ").append(getInstanceType()).append(",");
if (getInstanceVcpu() != null)
sb.append("InstanceVcpu: ").append(getInstanceVcpu()).append(",");
if (getInstanceMemory() != null)
sb.append("InstanceMemory: ").append(getInstanceMemory()).append(",");
if (getStorageType() != null)
sb.append("StorageType: ").append(getStorageType()).append(",");
if (getStorageSize() != null)
sb.append("StorageSize: ").append(getStorageSize()).append(",");
if (getStorageIops() != null)
sb.append("StorageIops: ").append(getStorageIops()).append(",");
if (getDeploymentOption() != null)
sb.append("DeploymentOption: ").append(getDeploymentOption()).append(",");
if (getEngineVersion() != null)
sb.append("EngineVersion: ").append(getEngineVersion());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof RdsConfiguration == false)
return false;
RdsConfiguration other = (RdsConfiguration) obj;
if (other.getEngineEdition() == null ^ this.getEngineEdition() == null)
return false;
if (other.getEngineEdition() != null && other.getEngineEdition().equals(this.getEngineEdition()) == false)
return false;
if (other.getInstanceType() == null ^ this.getInstanceType() == null)
return false;
if (other.getInstanceType() != null && other.getInstanceType().equals(this.getInstanceType()) == false)
return false;
if (other.getInstanceVcpu() == null ^ this.getInstanceVcpu() == null)
return false;
if (other.getInstanceVcpu() != null && other.getInstanceVcpu().equals(this.getInstanceVcpu()) == false)
return false;
if (other.getInstanceMemory() == null ^ this.getInstanceMemory() == null)
return false;
if (other.getInstanceMemory() != null && other.getInstanceMemory().equals(this.getInstanceMemory()) == false)
return false;
if (other.getStorageType() == null ^ this.getStorageType() == null)
return false;
if (other.getStorageType() != null && other.getStorageType().equals(this.getStorageType()) == false)
return false;
if (other.getStorageSize() == null ^ this.getStorageSize() == null)
return false;
if (other.getStorageSize() != null && other.getStorageSize().equals(this.getStorageSize()) == false)
return false;
if (other.getStorageIops() == null ^ this.getStorageIops() == null)
return false;
if (other.getStorageIops() != null && other.getStorageIops().equals(this.getStorageIops()) == false)
return false;
if (other.getDeploymentOption() == null ^ this.getDeploymentOption() == null)
return false;
if (other.getDeploymentOption() != null && other.getDeploymentOption().equals(this.getDeploymentOption()) == false)
return false;
if (other.getEngineVersion() == null ^ this.getEngineVersion() == null)
return false;
if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getEngineEdition() == null) ? 0 : getEngineEdition().hashCode());
hashCode = prime * hashCode + ((getInstanceType() == null) ? 0 : getInstanceType().hashCode());
hashCode = prime * hashCode + ((getInstanceVcpu() == null) ? 0 : getInstanceVcpu().hashCode());
hashCode = prime * hashCode + ((getInstanceMemory() == null) ? 0 : getInstanceMemory().hashCode());
hashCode = prime * hashCode + ((getStorageType() == null) ? 0 : getStorageType().hashCode());
hashCode = prime * hashCode + ((getStorageSize() == null) ? 0 : getStorageSize().hashCode());
hashCode = prime * hashCode + ((getStorageIops() == null) ? 0 : getStorageIops().hashCode());
hashCode = prime * hashCode + ((getDeploymentOption() == null) ? 0 : getDeploymentOption().hashCode());
hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode());
return hashCode;
}
@Override
public RdsConfiguration clone() {
try {
return (RdsConfiguration) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.databasemigrationservice.model.transform.RdsConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}