com.amazonaws.services.databasemigrationservice.model.ReplicationInstance 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 defines a replication instance.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class ReplicationInstance implements Serializable, Cloneable, StructuredPojo {
/**
*
* The replication instance identifier is a required parameter. This parameter is stored as a lowercase string.
*
*
* Constraints:
*
*
* -
*
* Must contain 1-63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
*
*/
private String replicationInstanceIdentifier;
/**
*
* The compute and memory capacity of the replication instance as defined for the specified replication instance
* class. It is a required parameter, although a default value is pre-selected in the DMS console.
*
*
* For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.
*
*/
private String replicationInstanceClass;
/**
*
* The status of the replication instance. The possible return values include:
*
*
* -
*
* "available"
*
*
* -
*
* "creating"
*
*
* -
*
* "deleted"
*
*
* -
*
* "deleting"
*
*
* -
*
* "failed"
*
*
* -
*
* "modifying"
*
*
* -
*
* "upgrading"
*
*
* -
*
* "rebooting"
*
*
* -
*
* "resetting-master-credentials"
*
*
* -
*
* "storage-full"
*
*
* -
*
* "incompatible-credentials"
*
*
* -
*
* "incompatible-network"
*
*
* -
*
* "maintenance"
*
*
*
*/
private String replicationInstanceStatus;
/**
*
* The amount of storage (in gigabytes) that is allocated for the replication instance.
*
*/
private Integer allocatedStorage;
/**
*
* The time the replication instance was created.
*
*/
private java.util.Date instanceCreateTime;
/**
*
* The VPC security group for the instance.
*
*/
private java.util.List vpcSecurityGroups;
/**
*
* The Availability Zone for the instance.
*
*/
private String availabilityZone;
/**
*
* The subnet group for the replication instance.
*
*/
private ReplicationSubnetGroup replicationSubnetGroup;
/**
*
* The maintenance window times for the replication instance. Any pending upgrades to the replication instance are
* performed during this time.
*
*/
private String preferredMaintenanceWindow;
/**
*
* The pending modification values.
*
*/
private ReplicationPendingModifiedValues pendingModifiedValues;
/**
*
* Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*
*/
private Boolean multiAZ;
/**
*
* The engine version number of the replication instance.
*
*
* If an engine version number is not specified when a replication instance is created, the default is the latest
* engine version available.
*
*
* When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
to
* true
.
*
*/
private String engineVersion;
/**
*
* Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*
*/
private Boolean autoMinorVersionUpgrade;
/**
*
* An KMS key identifier that is used to encrypt the data on the replication instance.
*
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has
* a different default encryption key for each Amazon Web Services Region.
*
*/
private String kmsKeyId;
/**
*
* The Amazon Resource Name (ARN) of the replication instance.
*
*/
private String replicationInstanceArn;
/**
*
* The public IP address of the replication instance.
*
*/
@Deprecated
private String replicationInstancePublicIpAddress;
/**
*
* The private IP address of the replication instance.
*
*/
@Deprecated
private String replicationInstancePrivateIpAddress;
/**
*
* One or more public IP addresses for the replication instance.
*
*/
private java.util.List replicationInstancePublicIpAddresses;
/**
*
* One or more private IP addresses for the replication instance.
*
*/
private java.util.List replicationInstancePrivateIpAddresses;
/**
*
* One or more IPv6 addresses for the replication instance.
*
*/
private java.util.List replicationInstanceIpv6Addresses;
/**
*
* Specifies the accessibility options for the replication instance. A value of true
represents an
* instance with a public IP address. A value of false
represents an instance with a private IP
* address. The default value is true
.
*
*/
private Boolean publiclyAccessible;
/**
*
* The Availability Zone of the standby replication instance in a Multi-AZ deployment.
*
*/
private String secondaryAvailabilityZone;
/**
*
* The expiration date of the free replication instance that is part of the Free DMS program.
*
*/
private java.util.Date freeUntil;
/**
*
* The DNS name servers supported for the replication instance to access your on-premise source or target database.
*
*/
private String dnsNameServers;
/**
*
* The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports
* both IPv4 and IPv6 addressing. IPv6 only is not yet supported.
*
*/
private String networkType;
/**
*
* The replication instance identifier is a required parameter. This parameter is stored as a lowercase string.
*
*
* Constraints:
*
*
* -
*
* Must contain 1-63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
*
*
* @param replicationInstanceIdentifier
* The replication instance identifier is a required parameter. This parameter is stored as a lowercase
* string.
*
* Constraints:
*
*
* -
*
* Must contain 1-63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
*/
public void setReplicationInstanceIdentifier(String replicationInstanceIdentifier) {
this.replicationInstanceIdentifier = replicationInstanceIdentifier;
}
/**
*
* The replication instance identifier is a required parameter. This parameter is stored as a lowercase string.
*
*
* Constraints:
*
*
* -
*
* Must contain 1-63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
*
*
* @return The replication instance identifier is a required parameter. This parameter is stored as a lowercase
* string.
*
* Constraints:
*
*
* -
*
* Must contain 1-63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
*/
public String getReplicationInstanceIdentifier() {
return this.replicationInstanceIdentifier;
}
/**
*
* The replication instance identifier is a required parameter. This parameter is stored as a lowercase string.
*
*
* Constraints:
*
*
* -
*
* Must contain 1-63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
*
*
* @param replicationInstanceIdentifier
* The replication instance identifier is a required parameter. This parameter is stored as a lowercase
* string.
*
* Constraints:
*
*
* -
*
* Must contain 1-63 alphanumeric characters or hyphens.
*
*
* -
*
* First character must be a letter.
*
*
* -
*
* Cannot end with a hyphen or contain two consecutive hyphens.
*
*
*
*
* Example: myrepinstance
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstanceIdentifier(String replicationInstanceIdentifier) {
setReplicationInstanceIdentifier(replicationInstanceIdentifier);
return this;
}
/**
*
* The compute and memory capacity of the replication instance as defined for the specified replication instance
* class. It is a required parameter, although a default value is pre-selected in the DMS console.
*
*
* For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.
*
*
* @param replicationInstanceClass
* The compute and memory capacity of the replication instance as defined for the specified replication
* instance class. It is a required parameter, although a default value is pre-selected in the DMS
* console.
*
* For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.
*/
public void setReplicationInstanceClass(String replicationInstanceClass) {
this.replicationInstanceClass = replicationInstanceClass;
}
/**
*
* The compute and memory capacity of the replication instance as defined for the specified replication instance
* class. It is a required parameter, although a default value is pre-selected in the DMS console.
*
*
* For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.
*
*
* @return The compute and memory capacity of the replication instance as defined for the specified replication
* instance class. It is a required parameter, although a default value is pre-selected in the DMS
* console.
*
* For more information on the settings and capacities for the available replication instance classes, see
* Selecting the right DMS replication instance for your migration.
*/
public String getReplicationInstanceClass() {
return this.replicationInstanceClass;
}
/**
*
* The compute and memory capacity of the replication instance as defined for the specified replication instance
* class. It is a required parameter, although a default value is pre-selected in the DMS console.
*
*
* For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.
*
*
* @param replicationInstanceClass
* The compute and memory capacity of the replication instance as defined for the specified replication
* instance class. It is a required parameter, although a default value is pre-selected in the DMS
* console.
*
* For more information on the settings and capacities for the available replication instance classes, see Selecting the right DMS replication instance for your migration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstanceClass(String replicationInstanceClass) {
setReplicationInstanceClass(replicationInstanceClass);
return this;
}
/**
*
* The status of the replication instance. The possible return values include:
*
*
* -
*
* "available"
*
*
* -
*
* "creating"
*
*
* -
*
* "deleted"
*
*
* -
*
* "deleting"
*
*
* -
*
* "failed"
*
*
* -
*
* "modifying"
*
*
* -
*
* "upgrading"
*
*
* -
*
* "rebooting"
*
*
* -
*
* "resetting-master-credentials"
*
*
* -
*
* "storage-full"
*
*
* -
*
* "incompatible-credentials"
*
*
* -
*
* "incompatible-network"
*
*
* -
*
* "maintenance"
*
*
*
*
* @param replicationInstanceStatus
* The status of the replication instance. The possible return values include:
*
* -
*
* "available"
*
*
* -
*
* "creating"
*
*
* -
*
* "deleted"
*
*
* -
*
* "deleting"
*
*
* -
*
* "failed"
*
*
* -
*
* "modifying"
*
*
* -
*
* "upgrading"
*
*
* -
*
* "rebooting"
*
*
* -
*
* "resetting-master-credentials"
*
*
* -
*
* "storage-full"
*
*
* -
*
* "incompatible-credentials"
*
*
* -
*
* "incompatible-network"
*
*
* -
*
* "maintenance"
*
*
*/
public void setReplicationInstanceStatus(String replicationInstanceStatus) {
this.replicationInstanceStatus = replicationInstanceStatus;
}
/**
*
* The status of the replication instance. The possible return values include:
*
*
* -
*
* "available"
*
*
* -
*
* "creating"
*
*
* -
*
* "deleted"
*
*
* -
*
* "deleting"
*
*
* -
*
* "failed"
*
*
* -
*
* "modifying"
*
*
* -
*
* "upgrading"
*
*
* -
*
* "rebooting"
*
*
* -
*
* "resetting-master-credentials"
*
*
* -
*
* "storage-full"
*
*
* -
*
* "incompatible-credentials"
*
*
* -
*
* "incompatible-network"
*
*
* -
*
* "maintenance"
*
*
*
*
* @return The status of the replication instance. The possible return values include:
*
* -
*
* "available"
*
*
* -
*
* "creating"
*
*
* -
*
* "deleted"
*
*
* -
*
* "deleting"
*
*
* -
*
* "failed"
*
*
* -
*
* "modifying"
*
*
* -
*
* "upgrading"
*
*
* -
*
* "rebooting"
*
*
* -
*
* "resetting-master-credentials"
*
*
* -
*
* "storage-full"
*
*
* -
*
* "incompatible-credentials"
*
*
* -
*
* "incompatible-network"
*
*
* -
*
* "maintenance"
*
*
*/
public String getReplicationInstanceStatus() {
return this.replicationInstanceStatus;
}
/**
*
* The status of the replication instance. The possible return values include:
*
*
* -
*
* "available"
*
*
* -
*
* "creating"
*
*
* -
*
* "deleted"
*
*
* -
*
* "deleting"
*
*
* -
*
* "failed"
*
*
* -
*
* "modifying"
*
*
* -
*
* "upgrading"
*
*
* -
*
* "rebooting"
*
*
* -
*
* "resetting-master-credentials"
*
*
* -
*
* "storage-full"
*
*
* -
*
* "incompatible-credentials"
*
*
* -
*
* "incompatible-network"
*
*
* -
*
* "maintenance"
*
*
*
*
* @param replicationInstanceStatus
* The status of the replication instance. The possible return values include:
*
* -
*
* "available"
*
*
* -
*
* "creating"
*
*
* -
*
* "deleted"
*
*
* -
*
* "deleting"
*
*
* -
*
* "failed"
*
*
* -
*
* "modifying"
*
*
* -
*
* "upgrading"
*
*
* -
*
* "rebooting"
*
*
* -
*
* "resetting-master-credentials"
*
*
* -
*
* "storage-full"
*
*
* -
*
* "incompatible-credentials"
*
*
* -
*
* "incompatible-network"
*
*
* -
*
* "maintenance"
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstanceStatus(String replicationInstanceStatus) {
setReplicationInstanceStatus(replicationInstanceStatus);
return this;
}
/**
*
* The amount of storage (in gigabytes) that is allocated for the replication instance.
*
*
* @param allocatedStorage
* The amount of storage (in gigabytes) that is allocated for the replication instance.
*/
public void setAllocatedStorage(Integer allocatedStorage) {
this.allocatedStorage = allocatedStorage;
}
/**
*
* The amount of storage (in gigabytes) that is allocated for the replication instance.
*
*
* @return The amount of storage (in gigabytes) that is allocated for the replication instance.
*/
public Integer getAllocatedStorage() {
return this.allocatedStorage;
}
/**
*
* The amount of storage (in gigabytes) that is allocated for the replication instance.
*
*
* @param allocatedStorage
* The amount of storage (in gigabytes) that is allocated for the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withAllocatedStorage(Integer allocatedStorage) {
setAllocatedStorage(allocatedStorage);
return this;
}
/**
*
* The time the replication instance was created.
*
*
* @param instanceCreateTime
* The time the replication instance was created.
*/
public void setInstanceCreateTime(java.util.Date instanceCreateTime) {
this.instanceCreateTime = instanceCreateTime;
}
/**
*
* The time the replication instance was created.
*
*
* @return The time the replication instance was created.
*/
public java.util.Date getInstanceCreateTime() {
return this.instanceCreateTime;
}
/**
*
* The time the replication instance was created.
*
*
* @param instanceCreateTime
* The time the replication instance was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withInstanceCreateTime(java.util.Date instanceCreateTime) {
setInstanceCreateTime(instanceCreateTime);
return this;
}
/**
*
* The VPC security group for the instance.
*
*
* @return The VPC security group for the instance.
*/
public java.util.List getVpcSecurityGroups() {
return vpcSecurityGroups;
}
/**
*
* The VPC security group for the instance.
*
*
* @param vpcSecurityGroups
* The VPC security group for the instance.
*/
public void setVpcSecurityGroups(java.util.Collection vpcSecurityGroups) {
if (vpcSecurityGroups == null) {
this.vpcSecurityGroups = null;
return;
}
this.vpcSecurityGroups = new java.util.ArrayList(vpcSecurityGroups);
}
/**
*
* The VPC security group for the instance.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setVpcSecurityGroups(java.util.Collection)} or {@link #withVpcSecurityGroups(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param vpcSecurityGroups
* The VPC security group for the instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withVpcSecurityGroups(VpcSecurityGroupMembership... vpcSecurityGroups) {
if (this.vpcSecurityGroups == null) {
setVpcSecurityGroups(new java.util.ArrayList(vpcSecurityGroups.length));
}
for (VpcSecurityGroupMembership ele : vpcSecurityGroups) {
this.vpcSecurityGroups.add(ele);
}
return this;
}
/**
*
* The VPC security group for the instance.
*
*
* @param vpcSecurityGroups
* The VPC security group for the instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withVpcSecurityGroups(java.util.Collection vpcSecurityGroups) {
setVpcSecurityGroups(vpcSecurityGroups);
return this;
}
/**
*
* The Availability Zone for the instance.
*
*
* @param availabilityZone
* The Availability Zone for the instance.
*/
public void setAvailabilityZone(String availabilityZone) {
this.availabilityZone = availabilityZone;
}
/**
*
* The Availability Zone for the instance.
*
*
* @return The Availability Zone for the instance.
*/
public String getAvailabilityZone() {
return this.availabilityZone;
}
/**
*
* The Availability Zone for the instance.
*
*
* @param availabilityZone
* The Availability Zone for the instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withAvailabilityZone(String availabilityZone) {
setAvailabilityZone(availabilityZone);
return this;
}
/**
*
* The subnet group for the replication instance.
*
*
* @param replicationSubnetGroup
* The subnet group for the replication instance.
*/
public void setReplicationSubnetGroup(ReplicationSubnetGroup replicationSubnetGroup) {
this.replicationSubnetGroup = replicationSubnetGroup;
}
/**
*
* The subnet group for the replication instance.
*
*
* @return The subnet group for the replication instance.
*/
public ReplicationSubnetGroup getReplicationSubnetGroup() {
return this.replicationSubnetGroup;
}
/**
*
* The subnet group for the replication instance.
*
*
* @param replicationSubnetGroup
* The subnet group for the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationSubnetGroup(ReplicationSubnetGroup replicationSubnetGroup) {
setReplicationSubnetGroup(replicationSubnetGroup);
return this;
}
/**
*
* The maintenance window times for the replication instance. Any pending upgrades to the replication instance are
* performed during this time.
*
*
* @param preferredMaintenanceWindow
* The maintenance window times for the replication instance. Any pending upgrades to the replication
* instance are performed during this time.
*/
public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
}
/**
*
* The maintenance window times for the replication instance. Any pending upgrades to the replication instance are
* performed during this time.
*
*
* @return The maintenance window times for the replication instance. Any pending upgrades to the replication
* instance are performed during this time.
*/
public String getPreferredMaintenanceWindow() {
return this.preferredMaintenanceWindow;
}
/**
*
* The maintenance window times for the replication instance. Any pending upgrades to the replication instance are
* performed during this time.
*
*
* @param preferredMaintenanceWindow
* The maintenance window times for the replication instance. Any pending upgrades to the replication
* instance are performed during this time.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
setPreferredMaintenanceWindow(preferredMaintenanceWindow);
return this;
}
/**
*
* The pending modification values.
*
*
* @param pendingModifiedValues
* The pending modification values.
*/
public void setPendingModifiedValues(ReplicationPendingModifiedValues pendingModifiedValues) {
this.pendingModifiedValues = pendingModifiedValues;
}
/**
*
* The pending modification values.
*
*
* @return The pending modification values.
*/
public ReplicationPendingModifiedValues getPendingModifiedValues() {
return this.pendingModifiedValues;
}
/**
*
* The pending modification values.
*
*
* @param pendingModifiedValues
* The pending modification values.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withPendingModifiedValues(ReplicationPendingModifiedValues pendingModifiedValues) {
setPendingModifiedValues(pendingModifiedValues);
return this;
}
/**
*
* Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*
*
* @param multiAZ
* Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*/
public void setMultiAZ(Boolean multiAZ) {
this.multiAZ = multiAZ;
}
/**
*
* Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*
*
* @return Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*/
public Boolean getMultiAZ() {
return this.multiAZ;
}
/**
*
* Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*
*
* @param multiAZ
* Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withMultiAZ(Boolean multiAZ) {
setMultiAZ(multiAZ);
return this;
}
/**
*
* Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*
*
* @return Specifies whether the replication instance is a Multi-AZ deployment. You can't set the
* AvailabilityZone
parameter if the Multi-AZ parameter is set to true
.
*/
public Boolean isMultiAZ() {
return this.multiAZ;
}
/**
*
* The engine version number of the replication instance.
*
*
* If an engine version number is not specified when a replication instance is created, the default is the latest
* engine version available.
*
*
* When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
to
* true
.
*
*
* @param engineVersion
* The engine version number of the replication instance.
*
* If an engine version number is not specified when a replication instance is created, the default is the
* latest engine version available.
*
*
* When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
to
* true
.
*/
public void setEngineVersion(String engineVersion) {
this.engineVersion = engineVersion;
}
/**
*
* The engine version number of the replication instance.
*
*
* If an engine version number is not specified when a replication instance is created, the default is the latest
* engine version available.
*
*
* When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
to
* true
.
*
*
* @return The engine version number of the replication instance.
*
* If an engine version number is not specified when a replication instance is created, the default is the
* latest engine version available.
*
*
* When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
to
* true
.
*/
public String getEngineVersion() {
return this.engineVersion;
}
/**
*
* The engine version number of the replication instance.
*
*
* If an engine version number is not specified when a replication instance is created, the default is the latest
* engine version available.
*
*
* When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
to
* true
.
*
*
* @param engineVersion
* The engine version number of the replication instance.
*
* If an engine version number is not specified when a replication instance is created, the default is the
* latest engine version available.
*
*
* When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade
to
* true
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withEngineVersion(String engineVersion) {
setEngineVersion(engineVersion);
return this;
}
/**
*
* Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*
*
* @param autoMinorVersionUpgrade
* Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*/
public void setAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) {
this.autoMinorVersionUpgrade = autoMinorVersionUpgrade;
}
/**
*
* Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*
*
* @return Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*/
public Boolean getAutoMinorVersionUpgrade() {
return this.autoMinorVersionUpgrade;
}
/**
*
* Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*
*
* @param autoMinorVersionUpgrade
* Boolean value indicating if minor version upgrades will be automatically applied to the instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withAutoMinorVersionUpgrade(Boolean autoMinorVersionUpgrade) {
setAutoMinorVersionUpgrade(autoMinorVersionUpgrade);
return this;
}
/**
*
* Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*
*
* @return Boolean value indicating if minor version upgrades will be automatically applied to the instance.
*/
public Boolean isAutoMinorVersionUpgrade() {
return this.autoMinorVersionUpgrade;
}
/**
*
* An KMS key identifier that is used to encrypt the data on the replication instance.
*
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has
* a different default encryption key for each Amazon Web Services Region.
*
*
* @param kmsKeyId
* An KMS key identifier that is used to encrypt the data on the replication instance.
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default
* encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services
* account has a different default encryption key for each Amazon Web Services Region.
*/
public void setKmsKeyId(String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
}
/**
*
* An KMS key identifier that is used to encrypt the data on the replication instance.
*
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has
* a different default encryption key for each Amazon Web Services Region.
*
*
* @return An KMS key identifier that is used to encrypt the data on the replication instance.
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default
* encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services
* account has a different default encryption key for each Amazon Web Services Region.
*/
public String getKmsKeyId() {
return this.kmsKeyId;
}
/**
*
* An KMS key identifier that is used to encrypt the data on the replication instance.
*
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has
* a different default encryption key for each Amazon Web Services Region.
*
*
* @param kmsKeyId
* An KMS key identifier that is used to encrypt the data on the replication instance.
*
* If you don't specify a value for the KmsKeyId
parameter, then DMS uses your default
* encryption key.
*
*
* KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services
* account has a different default encryption key for each Amazon Web Services Region.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withKmsKeyId(String kmsKeyId) {
setKmsKeyId(kmsKeyId);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the replication instance.
*
*
* @param replicationInstanceArn
* The Amazon Resource Name (ARN) of the replication instance.
*/
public void setReplicationInstanceArn(String replicationInstanceArn) {
this.replicationInstanceArn = replicationInstanceArn;
}
/**
*
* The Amazon Resource Name (ARN) of the replication instance.
*
*
* @return The Amazon Resource Name (ARN) of the replication instance.
*/
public String getReplicationInstanceArn() {
return this.replicationInstanceArn;
}
/**
*
* The Amazon Resource Name (ARN) of the replication instance.
*
*
* @param replicationInstanceArn
* The Amazon Resource Name (ARN) of the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstanceArn(String replicationInstanceArn) {
setReplicationInstanceArn(replicationInstanceArn);
return this;
}
/**
*
* The public IP address of the replication instance.
*
*
* @param replicationInstancePublicIpAddress
* The public IP address of the replication instance.
*/
@Deprecated
public void setReplicationInstancePublicIpAddress(String replicationInstancePublicIpAddress) {
this.replicationInstancePublicIpAddress = replicationInstancePublicIpAddress;
}
/**
*
* The public IP address of the replication instance.
*
*
* @return The public IP address of the replication instance.
*/
@Deprecated
public String getReplicationInstancePublicIpAddress() {
return this.replicationInstancePublicIpAddress;
}
/**
*
* The public IP address of the replication instance.
*
*
* @param replicationInstancePublicIpAddress
* The public IP address of the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
@Deprecated
public ReplicationInstance withReplicationInstancePublicIpAddress(String replicationInstancePublicIpAddress) {
setReplicationInstancePublicIpAddress(replicationInstancePublicIpAddress);
return this;
}
/**
*
* The private IP address of the replication instance.
*
*
* @param replicationInstancePrivateIpAddress
* The private IP address of the replication instance.
*/
@Deprecated
public void setReplicationInstancePrivateIpAddress(String replicationInstancePrivateIpAddress) {
this.replicationInstancePrivateIpAddress = replicationInstancePrivateIpAddress;
}
/**
*
* The private IP address of the replication instance.
*
*
* @return The private IP address of the replication instance.
*/
@Deprecated
public String getReplicationInstancePrivateIpAddress() {
return this.replicationInstancePrivateIpAddress;
}
/**
*
* The private IP address of the replication instance.
*
*
* @param replicationInstancePrivateIpAddress
* The private IP address of the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
@Deprecated
public ReplicationInstance withReplicationInstancePrivateIpAddress(String replicationInstancePrivateIpAddress) {
setReplicationInstancePrivateIpAddress(replicationInstancePrivateIpAddress);
return this;
}
/**
*
* One or more public IP addresses for the replication instance.
*
*
* @return One or more public IP addresses for the replication instance.
*/
public java.util.List getReplicationInstancePublicIpAddresses() {
return replicationInstancePublicIpAddresses;
}
/**
*
* One or more public IP addresses for the replication instance.
*
*
* @param replicationInstancePublicIpAddresses
* One or more public IP addresses for the replication instance.
*/
public void setReplicationInstancePublicIpAddresses(java.util.Collection replicationInstancePublicIpAddresses) {
if (replicationInstancePublicIpAddresses == null) {
this.replicationInstancePublicIpAddresses = null;
return;
}
this.replicationInstancePublicIpAddresses = new java.util.ArrayList(replicationInstancePublicIpAddresses);
}
/**
*
* One or more public IP addresses for the replication instance.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setReplicationInstancePublicIpAddresses(java.util.Collection)} or
* {@link #withReplicationInstancePublicIpAddresses(java.util.Collection)} if you want to override the existing
* values.
*
*
* @param replicationInstancePublicIpAddresses
* One or more public IP addresses for the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstancePublicIpAddresses(String... replicationInstancePublicIpAddresses) {
if (this.replicationInstancePublicIpAddresses == null) {
setReplicationInstancePublicIpAddresses(new java.util.ArrayList(replicationInstancePublicIpAddresses.length));
}
for (String ele : replicationInstancePublicIpAddresses) {
this.replicationInstancePublicIpAddresses.add(ele);
}
return this;
}
/**
*
* One or more public IP addresses for the replication instance.
*
*
* @param replicationInstancePublicIpAddresses
* One or more public IP addresses for the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstancePublicIpAddresses(java.util.Collection replicationInstancePublicIpAddresses) {
setReplicationInstancePublicIpAddresses(replicationInstancePublicIpAddresses);
return this;
}
/**
*
* One or more private IP addresses for the replication instance.
*
*
* @return One or more private IP addresses for the replication instance.
*/
public java.util.List getReplicationInstancePrivateIpAddresses() {
return replicationInstancePrivateIpAddresses;
}
/**
*
* One or more private IP addresses for the replication instance.
*
*
* @param replicationInstancePrivateIpAddresses
* One or more private IP addresses for the replication instance.
*/
public void setReplicationInstancePrivateIpAddresses(java.util.Collection replicationInstancePrivateIpAddresses) {
if (replicationInstancePrivateIpAddresses == null) {
this.replicationInstancePrivateIpAddresses = null;
return;
}
this.replicationInstancePrivateIpAddresses = new java.util.ArrayList(replicationInstancePrivateIpAddresses);
}
/**
*
* One or more private IP addresses for the replication instance.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setReplicationInstancePrivateIpAddresses(java.util.Collection)} or
* {@link #withReplicationInstancePrivateIpAddresses(java.util.Collection)} if you want to override the existing
* values.
*
*
* @param replicationInstancePrivateIpAddresses
* One or more private IP addresses for the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstancePrivateIpAddresses(String... replicationInstancePrivateIpAddresses) {
if (this.replicationInstancePrivateIpAddresses == null) {
setReplicationInstancePrivateIpAddresses(new java.util.ArrayList(replicationInstancePrivateIpAddresses.length));
}
for (String ele : replicationInstancePrivateIpAddresses) {
this.replicationInstancePrivateIpAddresses.add(ele);
}
return this;
}
/**
*
* One or more private IP addresses for the replication instance.
*
*
* @param replicationInstancePrivateIpAddresses
* One or more private IP addresses for the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstancePrivateIpAddresses(java.util.Collection replicationInstancePrivateIpAddresses) {
setReplicationInstancePrivateIpAddresses(replicationInstancePrivateIpAddresses);
return this;
}
/**
*
* One or more IPv6 addresses for the replication instance.
*
*
* @return One or more IPv6 addresses for the replication instance.
*/
public java.util.List getReplicationInstanceIpv6Addresses() {
return replicationInstanceIpv6Addresses;
}
/**
*
* One or more IPv6 addresses for the replication instance.
*
*
* @param replicationInstanceIpv6Addresses
* One or more IPv6 addresses for the replication instance.
*/
public void setReplicationInstanceIpv6Addresses(java.util.Collection replicationInstanceIpv6Addresses) {
if (replicationInstanceIpv6Addresses == null) {
this.replicationInstanceIpv6Addresses = null;
return;
}
this.replicationInstanceIpv6Addresses = new java.util.ArrayList(replicationInstanceIpv6Addresses);
}
/**
*
* One or more IPv6 addresses for the replication instance.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setReplicationInstanceIpv6Addresses(java.util.Collection)} or
* {@link #withReplicationInstanceIpv6Addresses(java.util.Collection)} if you want to override the existing values.
*
*
* @param replicationInstanceIpv6Addresses
* One or more IPv6 addresses for the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstanceIpv6Addresses(String... replicationInstanceIpv6Addresses) {
if (this.replicationInstanceIpv6Addresses == null) {
setReplicationInstanceIpv6Addresses(new java.util.ArrayList(replicationInstanceIpv6Addresses.length));
}
for (String ele : replicationInstanceIpv6Addresses) {
this.replicationInstanceIpv6Addresses.add(ele);
}
return this;
}
/**
*
* One or more IPv6 addresses for the replication instance.
*
*
* @param replicationInstanceIpv6Addresses
* One or more IPv6 addresses for the replication instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withReplicationInstanceIpv6Addresses(java.util.Collection replicationInstanceIpv6Addresses) {
setReplicationInstanceIpv6Addresses(replicationInstanceIpv6Addresses);
return this;
}
/**
*
* Specifies the accessibility options for the replication instance. A value of true
represents an
* instance with a public IP address. A value of false
represents an instance with a private IP
* address. The default value is true
.
*
*
* @param publiclyAccessible
* Specifies the accessibility options for the replication instance. A value of true
represents
* an instance with a public IP address. A value of false
represents an instance with a private
* IP address. The default value is true
.
*/
public void setPubliclyAccessible(Boolean publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
}
/**
*
* Specifies the accessibility options for the replication instance. A value of true
represents an
* instance with a public IP address. A value of false
represents an instance with a private IP
* address. The default value is true
.
*
*
* @return Specifies the accessibility options for the replication instance. A value of true
represents
* an instance with a public IP address. A value of false
represents an instance with a private
* IP address. The default value is true
.
*/
public Boolean getPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
*
* Specifies the accessibility options for the replication instance. A value of true
represents an
* instance with a public IP address. A value of false
represents an instance with a private IP
* address. The default value is true
.
*
*
* @param publiclyAccessible
* Specifies the accessibility options for the replication instance. A value of true
represents
* an instance with a public IP address. A value of false
represents an instance with a private
* IP address. The default value is true
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withPubliclyAccessible(Boolean publiclyAccessible) {
setPubliclyAccessible(publiclyAccessible);
return this;
}
/**
*
* Specifies the accessibility options for the replication instance. A value of true
represents an
* instance with a public IP address. A value of false
represents an instance with a private IP
* address. The default value is true
.
*
*
* @return Specifies the accessibility options for the replication instance. A value of true
represents
* an instance with a public IP address. A value of false
represents an instance with a private
* IP address. The default value is true
.
*/
public Boolean isPubliclyAccessible() {
return this.publiclyAccessible;
}
/**
*
* The Availability Zone of the standby replication instance in a Multi-AZ deployment.
*
*
* @param secondaryAvailabilityZone
* The Availability Zone of the standby replication instance in a Multi-AZ deployment.
*/
public void setSecondaryAvailabilityZone(String secondaryAvailabilityZone) {
this.secondaryAvailabilityZone = secondaryAvailabilityZone;
}
/**
*
* The Availability Zone of the standby replication instance in a Multi-AZ deployment.
*
*
* @return The Availability Zone of the standby replication instance in a Multi-AZ deployment.
*/
public String getSecondaryAvailabilityZone() {
return this.secondaryAvailabilityZone;
}
/**
*
* The Availability Zone of the standby replication instance in a Multi-AZ deployment.
*
*
* @param secondaryAvailabilityZone
* The Availability Zone of the standby replication instance in a Multi-AZ deployment.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withSecondaryAvailabilityZone(String secondaryAvailabilityZone) {
setSecondaryAvailabilityZone(secondaryAvailabilityZone);
return this;
}
/**
*
* The expiration date of the free replication instance that is part of the Free DMS program.
*
*
* @param freeUntil
* The expiration date of the free replication instance that is part of the Free DMS program.
*/
public void setFreeUntil(java.util.Date freeUntil) {
this.freeUntil = freeUntil;
}
/**
*
* The expiration date of the free replication instance that is part of the Free DMS program.
*
*
* @return The expiration date of the free replication instance that is part of the Free DMS program.
*/
public java.util.Date getFreeUntil() {
return this.freeUntil;
}
/**
*
* The expiration date of the free replication instance that is part of the Free DMS program.
*
*
* @param freeUntil
* The expiration date of the free replication instance that is part of the Free DMS program.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withFreeUntil(java.util.Date freeUntil) {
setFreeUntil(freeUntil);
return this;
}
/**
*
* The DNS name servers supported for the replication instance to access your on-premise source or target database.
*
*
* @param dnsNameServers
* The DNS name servers supported for the replication instance to access your on-premise source or target
* database.
*/
public void setDnsNameServers(String dnsNameServers) {
this.dnsNameServers = dnsNameServers;
}
/**
*
* The DNS name servers supported for the replication instance to access your on-premise source or target database.
*
*
* @return The DNS name servers supported for the replication instance to access your on-premise source or target
* database.
*/
public String getDnsNameServers() {
return this.dnsNameServers;
}
/**
*
* The DNS name servers supported for the replication instance to access your on-premise source or target database.
*
*
* @param dnsNameServers
* The DNS name servers supported for the replication instance to access your on-premise source or target
* database.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withDnsNameServers(String dnsNameServers) {
setDnsNameServers(dnsNameServers);
return this;
}
/**
*
* The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports
* both IPv4 and IPv6 addressing. IPv6 only is not yet supported.
*
*
* @param networkType
* The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that
* supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.
*/
public void setNetworkType(String networkType) {
this.networkType = networkType;
}
/**
*
* The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports
* both IPv4 and IPv6 addressing. IPv6 only is not yet supported.
*
*
* @return The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that
* supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.
*/
public String getNetworkType() {
return this.networkType;
}
/**
*
* The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports
* both IPv4 and IPv6 addressing. IPv6 only is not yet supported.
*
*
* @param networkType
* The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that
* supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReplicationInstance withNetworkType(String networkType) {
setNetworkType(networkType);
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 (getReplicationInstanceIdentifier() != null)
sb.append("ReplicationInstanceIdentifier: ").append(getReplicationInstanceIdentifier()).append(",");
if (getReplicationInstanceClass() != null)
sb.append("ReplicationInstanceClass: ").append(getReplicationInstanceClass()).append(",");
if (getReplicationInstanceStatus() != null)
sb.append("ReplicationInstanceStatus: ").append(getReplicationInstanceStatus()).append(",");
if (getAllocatedStorage() != null)
sb.append("AllocatedStorage: ").append(getAllocatedStorage()).append(",");
if (getInstanceCreateTime() != null)
sb.append("InstanceCreateTime: ").append(getInstanceCreateTime()).append(",");
if (getVpcSecurityGroups() != null)
sb.append("VpcSecurityGroups: ").append(getVpcSecurityGroups()).append(",");
if (getAvailabilityZone() != null)
sb.append("AvailabilityZone: ").append(getAvailabilityZone()).append(",");
if (getReplicationSubnetGroup() != null)
sb.append("ReplicationSubnetGroup: ").append(getReplicationSubnetGroup()).append(",");
if (getPreferredMaintenanceWindow() != null)
sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(",");
if (getPendingModifiedValues() != null)
sb.append("PendingModifiedValues: ").append(getPendingModifiedValues()).append(",");
if (getMultiAZ() != null)
sb.append("MultiAZ: ").append(getMultiAZ()).append(",");
if (getEngineVersion() != null)
sb.append("EngineVersion: ").append(getEngineVersion()).append(",");
if (getAutoMinorVersionUpgrade() != null)
sb.append("AutoMinorVersionUpgrade: ").append(getAutoMinorVersionUpgrade()).append(",");
if (getKmsKeyId() != null)
sb.append("KmsKeyId: ").append(getKmsKeyId()).append(",");
if (getReplicationInstanceArn() != null)
sb.append("ReplicationInstanceArn: ").append(getReplicationInstanceArn()).append(",");
if (getReplicationInstancePublicIpAddress() != null)
sb.append("ReplicationInstancePublicIpAddress: ").append(getReplicationInstancePublicIpAddress()).append(",");
if (getReplicationInstancePrivateIpAddress() != null)
sb.append("ReplicationInstancePrivateIpAddress: ").append(getReplicationInstancePrivateIpAddress()).append(",");
if (getReplicationInstancePublicIpAddresses() != null)
sb.append("ReplicationInstancePublicIpAddresses: ").append(getReplicationInstancePublicIpAddresses()).append(",");
if (getReplicationInstancePrivateIpAddresses() != null)
sb.append("ReplicationInstancePrivateIpAddresses: ").append(getReplicationInstancePrivateIpAddresses()).append(",");
if (getReplicationInstanceIpv6Addresses() != null)
sb.append("ReplicationInstanceIpv6Addresses: ").append(getReplicationInstanceIpv6Addresses()).append(",");
if (getPubliclyAccessible() != null)
sb.append("PubliclyAccessible: ").append(getPubliclyAccessible()).append(",");
if (getSecondaryAvailabilityZone() != null)
sb.append("SecondaryAvailabilityZone: ").append(getSecondaryAvailabilityZone()).append(",");
if (getFreeUntil() != null)
sb.append("FreeUntil: ").append(getFreeUntil()).append(",");
if (getDnsNameServers() != null)
sb.append("DnsNameServers: ").append(getDnsNameServers()).append(",");
if (getNetworkType() != null)
sb.append("NetworkType: ").append(getNetworkType());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ReplicationInstance == false)
return false;
ReplicationInstance other = (ReplicationInstance) obj;
if (other.getReplicationInstanceIdentifier() == null ^ this.getReplicationInstanceIdentifier() == null)
return false;
if (other.getReplicationInstanceIdentifier() != null
&& other.getReplicationInstanceIdentifier().equals(this.getReplicationInstanceIdentifier()) == false)
return false;
if (other.getReplicationInstanceClass() == null ^ this.getReplicationInstanceClass() == null)
return false;
if (other.getReplicationInstanceClass() != null && other.getReplicationInstanceClass().equals(this.getReplicationInstanceClass()) == false)
return false;
if (other.getReplicationInstanceStatus() == null ^ this.getReplicationInstanceStatus() == null)
return false;
if (other.getReplicationInstanceStatus() != null && other.getReplicationInstanceStatus().equals(this.getReplicationInstanceStatus()) == false)
return false;
if (other.getAllocatedStorage() == null ^ this.getAllocatedStorage() == null)
return false;
if (other.getAllocatedStorage() != null && other.getAllocatedStorage().equals(this.getAllocatedStorage()) == false)
return false;
if (other.getInstanceCreateTime() == null ^ this.getInstanceCreateTime() == null)
return false;
if (other.getInstanceCreateTime() != null && other.getInstanceCreateTime().equals(this.getInstanceCreateTime()) == false)
return false;
if (other.getVpcSecurityGroups() == null ^ this.getVpcSecurityGroups() == null)
return false;
if (other.getVpcSecurityGroups() != null && other.getVpcSecurityGroups().equals(this.getVpcSecurityGroups()) == false)
return false;
if (other.getAvailabilityZone() == null ^ this.getAvailabilityZone() == null)
return false;
if (other.getAvailabilityZone() != null && other.getAvailabilityZone().equals(this.getAvailabilityZone()) == false)
return false;
if (other.getReplicationSubnetGroup() == null ^ this.getReplicationSubnetGroup() == null)
return false;
if (other.getReplicationSubnetGroup() != null && other.getReplicationSubnetGroup().equals(this.getReplicationSubnetGroup()) == false)
return false;
if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null)
return false;
if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false)
return false;
if (other.getPendingModifiedValues() == null ^ this.getPendingModifiedValues() == null)
return false;
if (other.getPendingModifiedValues() != null && other.getPendingModifiedValues().equals(this.getPendingModifiedValues()) == false)
return false;
if (other.getMultiAZ() == null ^ this.getMultiAZ() == null)
return false;
if (other.getMultiAZ() != null && other.getMultiAZ().equals(this.getMultiAZ()) == false)
return false;
if (other.getEngineVersion() == null ^ this.getEngineVersion() == null)
return false;
if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false)
return false;
if (other.getAutoMinorVersionUpgrade() == null ^ this.getAutoMinorVersionUpgrade() == null)
return false;
if (other.getAutoMinorVersionUpgrade() != null && other.getAutoMinorVersionUpgrade().equals(this.getAutoMinorVersionUpgrade()) == false)
return false;
if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null)
return false;
if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false)
return false;
if (other.getReplicationInstanceArn() == null ^ this.getReplicationInstanceArn() == null)
return false;
if (other.getReplicationInstanceArn() != null && other.getReplicationInstanceArn().equals(this.getReplicationInstanceArn()) == false)
return false;
if (other.getReplicationInstancePublicIpAddress() == null ^ this.getReplicationInstancePublicIpAddress() == null)
return false;
if (other.getReplicationInstancePublicIpAddress() != null
&& other.getReplicationInstancePublicIpAddress().equals(this.getReplicationInstancePublicIpAddress()) == false)
return false;
if (other.getReplicationInstancePrivateIpAddress() == null ^ this.getReplicationInstancePrivateIpAddress() == null)
return false;
if (other.getReplicationInstancePrivateIpAddress() != null
&& other.getReplicationInstancePrivateIpAddress().equals(this.getReplicationInstancePrivateIpAddress()) == false)
return false;
if (other.getReplicationInstancePublicIpAddresses() == null ^ this.getReplicationInstancePublicIpAddresses() == null)
return false;
if (other.getReplicationInstancePublicIpAddresses() != null
&& other.getReplicationInstancePublicIpAddresses().equals(this.getReplicationInstancePublicIpAddresses()) == false)
return false;
if (other.getReplicationInstancePrivateIpAddresses() == null ^ this.getReplicationInstancePrivateIpAddresses() == null)
return false;
if (other.getReplicationInstancePrivateIpAddresses() != null
&& other.getReplicationInstancePrivateIpAddresses().equals(this.getReplicationInstancePrivateIpAddresses()) == false)
return false;
if (other.getReplicationInstanceIpv6Addresses() == null ^ this.getReplicationInstanceIpv6Addresses() == null)
return false;
if (other.getReplicationInstanceIpv6Addresses() != null
&& other.getReplicationInstanceIpv6Addresses().equals(this.getReplicationInstanceIpv6Addresses()) == false)
return false;
if (other.getPubliclyAccessible() == null ^ this.getPubliclyAccessible() == null)
return false;
if (other.getPubliclyAccessible() != null && other.getPubliclyAccessible().equals(this.getPubliclyAccessible()) == false)
return false;
if (other.getSecondaryAvailabilityZone() == null ^ this.getSecondaryAvailabilityZone() == null)
return false;
if (other.getSecondaryAvailabilityZone() != null && other.getSecondaryAvailabilityZone().equals(this.getSecondaryAvailabilityZone()) == false)
return false;
if (other.getFreeUntil() == null ^ this.getFreeUntil() == null)
return false;
if (other.getFreeUntil() != null && other.getFreeUntil().equals(this.getFreeUntil()) == false)
return false;
if (other.getDnsNameServers() == null ^ this.getDnsNameServers() == null)
return false;
if (other.getDnsNameServers() != null && other.getDnsNameServers().equals(this.getDnsNameServers()) == false)
return false;
if (other.getNetworkType() == null ^ this.getNetworkType() == null)
return false;
if (other.getNetworkType() != null && other.getNetworkType().equals(this.getNetworkType()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getReplicationInstanceIdentifier() == null) ? 0 : getReplicationInstanceIdentifier().hashCode());
hashCode = prime * hashCode + ((getReplicationInstanceClass() == null) ? 0 : getReplicationInstanceClass().hashCode());
hashCode = prime * hashCode + ((getReplicationInstanceStatus() == null) ? 0 : getReplicationInstanceStatus().hashCode());
hashCode = prime * hashCode + ((getAllocatedStorage() == null) ? 0 : getAllocatedStorage().hashCode());
hashCode = prime * hashCode + ((getInstanceCreateTime() == null) ? 0 : getInstanceCreateTime().hashCode());
hashCode = prime * hashCode + ((getVpcSecurityGroups() == null) ? 0 : getVpcSecurityGroups().hashCode());
hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone().hashCode());
hashCode = prime * hashCode + ((getReplicationSubnetGroup() == null) ? 0 : getReplicationSubnetGroup().hashCode());
hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode());
hashCode = prime * hashCode + ((getPendingModifiedValues() == null) ? 0 : getPendingModifiedValues().hashCode());
hashCode = prime * hashCode + ((getMultiAZ() == null) ? 0 : getMultiAZ().hashCode());
hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode());
hashCode = prime * hashCode + ((getAutoMinorVersionUpgrade() == null) ? 0 : getAutoMinorVersionUpgrade().hashCode());
hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode());
hashCode = prime * hashCode + ((getReplicationInstanceArn() == null) ? 0 : getReplicationInstanceArn().hashCode());
hashCode = prime * hashCode + ((getReplicationInstancePublicIpAddress() == null) ? 0 : getReplicationInstancePublicIpAddress().hashCode());
hashCode = prime * hashCode + ((getReplicationInstancePrivateIpAddress() == null) ? 0 : getReplicationInstancePrivateIpAddress().hashCode());
hashCode = prime * hashCode + ((getReplicationInstancePublicIpAddresses() == null) ? 0 : getReplicationInstancePublicIpAddresses().hashCode());
hashCode = prime * hashCode + ((getReplicationInstancePrivateIpAddresses() == null) ? 0 : getReplicationInstancePrivateIpAddresses().hashCode());
hashCode = prime * hashCode + ((getReplicationInstanceIpv6Addresses() == null) ? 0 : getReplicationInstanceIpv6Addresses().hashCode());
hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode());
hashCode = prime * hashCode + ((getSecondaryAvailabilityZone() == null) ? 0 : getSecondaryAvailabilityZone().hashCode());
hashCode = prime * hashCode + ((getFreeUntil() == null) ? 0 : getFreeUntil().hashCode());
hashCode = prime * hashCode + ((getDnsNameServers() == null) ? 0 : getDnsNameServers().hashCode());
hashCode = prime * hashCode + ((getNetworkType() == null) ? 0 : getNetworkType().hashCode());
return hashCode;
}
@Override
public ReplicationInstance clone() {
try {
return (ReplicationInstance) 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.ReplicationInstanceMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}