* Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration. *
*/ private Boolean associateDefaultSecurityGroup; /** ** Whether to allow the AWS replication agent to automatically replicate newly added disks. *
*/ private Boolean autoReplicateNewDisks; /** ** Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps. *
*/ private Long bandwidthThrottling; /** ** Whether to create a Public IP for the Recovery Instance by default. *
*/ private Boolean createPublicIP; /** ** The data plane routing mechanism that will be used for replication. *
*/ private String dataPlaneRouting; /** ** The Staging Disk EBS volume type to be used during replication. *
*/ private String defaultLargeStagingDiskType; /** ** The type of EBS encryption to be used during replication. *
*/ private String ebsEncryption; /** ** The ARN of the EBS encryption key to be used during replication. *
*/ private String ebsEncryptionKeyArn; /** ** The name of the Replication Configuration. *
*/ private String name; /** ** The Point in time (PIT) policy to manage snapshots taken during replication. *
*/ private java.util.List* The configuration of the disks of the Source Server to be replicated. *
*/ private java.util.List* The instance type to be used for the replication server. *
*/ private String replicationServerInstanceType; /** ** The security group IDs that will be used by the replication server. *
*/ private java.util.List* The ID of the Source Server for this Replication Configuration. *
*/ private String sourceServerID; /** ** The subnet to be used by the replication staging area. *
*/ private String stagingAreaSubnetId; /** ** A set of tags to be associated with all resources created in the replication staging area: EC2 replication * server, EBS volumes, EBS snapshots, etc. *
*/ private java.util.Map* Whether to use a dedicated Replication Server in the replication staging area. *
*/ private Boolean useDedicatedReplicationServer; /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration. *
* * @param associateDefaultSecurityGroup * Whether to associate the default Elastic Disaster Recovery Security group with the Replication * Configuration. */ public void setAssociateDefaultSecurityGroup(Boolean associateDefaultSecurityGroup) { this.associateDefaultSecurityGroup = associateDefaultSecurityGroup; } /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration. *
* * @return Whether to associate the default Elastic Disaster Recovery Security group with the Replication * Configuration. */ public Boolean getAssociateDefaultSecurityGroup() { return this.associateDefaultSecurityGroup; } /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration. *
* * @param associateDefaultSecurityGroup * Whether to associate the default Elastic Disaster Recovery Security group with the Replication * Configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withAssociateDefaultSecurityGroup(Boolean associateDefaultSecurityGroup) { setAssociateDefaultSecurityGroup(associateDefaultSecurityGroup); return this; } /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration. *
* * @return Whether to associate the default Elastic Disaster Recovery Security group with the Replication * Configuration. */ public Boolean isAssociateDefaultSecurityGroup() { return this.associateDefaultSecurityGroup; } /** ** Whether to allow the AWS replication agent to automatically replicate newly added disks. *
* * @param autoReplicateNewDisks * Whether to allow the AWS replication agent to automatically replicate newly added disks. */ public void setAutoReplicateNewDisks(Boolean autoReplicateNewDisks) { this.autoReplicateNewDisks = autoReplicateNewDisks; } /** ** Whether to allow the AWS replication agent to automatically replicate newly added disks. *
* * @return Whether to allow the AWS replication agent to automatically replicate newly added disks. */ public Boolean getAutoReplicateNewDisks() { return this.autoReplicateNewDisks; } /** ** Whether to allow the AWS replication agent to automatically replicate newly added disks. *
* * @param autoReplicateNewDisks * Whether to allow the AWS replication agent to automatically replicate newly added disks. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withAutoReplicateNewDisks(Boolean autoReplicateNewDisks) { setAutoReplicateNewDisks(autoReplicateNewDisks); return this; } /** ** Whether to allow the AWS replication agent to automatically replicate newly added disks. *
* * @return Whether to allow the AWS replication agent to automatically replicate newly added disks. */ public Boolean isAutoReplicateNewDisks() { return this.autoReplicateNewDisks; } /** ** Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps. *
* * @param bandwidthThrottling * Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps. */ public void setBandwidthThrottling(Long bandwidthThrottling) { this.bandwidthThrottling = bandwidthThrottling; } /** ** Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps. *
* * @return Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps. */ public Long getBandwidthThrottling() { return this.bandwidthThrottling; } /** ** Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps. *
* * @param bandwidthThrottling * Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withBandwidthThrottling(Long bandwidthThrottling) { setBandwidthThrottling(bandwidthThrottling); return this; } /** ** Whether to create a Public IP for the Recovery Instance by default. *
* * @param createPublicIP * Whether to create a Public IP for the Recovery Instance by default. */ public void setCreatePublicIP(Boolean createPublicIP) { this.createPublicIP = createPublicIP; } /** ** Whether to create a Public IP for the Recovery Instance by default. *
* * @return Whether to create a Public IP for the Recovery Instance by default. */ public Boolean getCreatePublicIP() { return this.createPublicIP; } /** ** Whether to create a Public IP for the Recovery Instance by default. *
* * @param createPublicIP * Whether to create a Public IP for the Recovery Instance by default. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withCreatePublicIP(Boolean createPublicIP) { setCreatePublicIP(createPublicIP); return this; } /** ** Whether to create a Public IP for the Recovery Instance by default. *
* * @return Whether to create a Public IP for the Recovery Instance by default. */ public Boolean isCreatePublicIP() { return this.createPublicIP; } /** ** The data plane routing mechanism that will be used for replication. *
* * @param dataPlaneRouting * The data plane routing mechanism that will be used for replication. * @see ReplicationConfigurationDataPlaneRouting */ public void setDataPlaneRouting(String dataPlaneRouting) { this.dataPlaneRouting = dataPlaneRouting; } /** ** The data plane routing mechanism that will be used for replication. *
* * @return The data plane routing mechanism that will be used for replication. * @see ReplicationConfigurationDataPlaneRouting */ public String getDataPlaneRouting() { return this.dataPlaneRouting; } /** ** The data plane routing mechanism that will be used for replication. *
* * @param dataPlaneRouting * The data plane routing mechanism that will be used for replication. * @return Returns a reference to this object so that method calls can be chained together. * @see ReplicationConfigurationDataPlaneRouting */ public UpdateReplicationConfigurationResult withDataPlaneRouting(String dataPlaneRouting) { setDataPlaneRouting(dataPlaneRouting); return this; } /** ** The data plane routing mechanism that will be used for replication. *
* * @param dataPlaneRouting * The data plane routing mechanism that will be used for replication. * @return Returns a reference to this object so that method calls can be chained together. * @see ReplicationConfigurationDataPlaneRouting */ public UpdateReplicationConfigurationResult withDataPlaneRouting(ReplicationConfigurationDataPlaneRouting dataPlaneRouting) { this.dataPlaneRouting = dataPlaneRouting.toString(); return this; } /** ** The Staging Disk EBS volume type to be used during replication. *
* * @param defaultLargeStagingDiskType * The Staging Disk EBS volume type to be used during replication. * @see ReplicationConfigurationDefaultLargeStagingDiskType */ public void setDefaultLargeStagingDiskType(String defaultLargeStagingDiskType) { this.defaultLargeStagingDiskType = defaultLargeStagingDiskType; } /** ** The Staging Disk EBS volume type to be used during replication. *
* * @return The Staging Disk EBS volume type to be used during replication. * @see ReplicationConfigurationDefaultLargeStagingDiskType */ public String getDefaultLargeStagingDiskType() { return this.defaultLargeStagingDiskType; } /** ** The Staging Disk EBS volume type to be used during replication. *
* * @param defaultLargeStagingDiskType * The Staging Disk EBS volume type to be used during replication. * @return Returns a reference to this object so that method calls can be chained together. * @see ReplicationConfigurationDefaultLargeStagingDiskType */ public UpdateReplicationConfigurationResult withDefaultLargeStagingDiskType(String defaultLargeStagingDiskType) { setDefaultLargeStagingDiskType(defaultLargeStagingDiskType); return this; } /** ** The Staging Disk EBS volume type to be used during replication. *
* * @param defaultLargeStagingDiskType * The Staging Disk EBS volume type to be used during replication. * @return Returns a reference to this object so that method calls can be chained together. * @see ReplicationConfigurationDefaultLargeStagingDiskType */ public UpdateReplicationConfigurationResult withDefaultLargeStagingDiskType(ReplicationConfigurationDefaultLargeStagingDiskType defaultLargeStagingDiskType) { this.defaultLargeStagingDiskType = defaultLargeStagingDiskType.toString(); return this; } /** ** The type of EBS encryption to be used during replication. *
* * @param ebsEncryption * The type of EBS encryption to be used during replication. * @see ReplicationConfigurationEbsEncryption */ public void setEbsEncryption(String ebsEncryption) { this.ebsEncryption = ebsEncryption; } /** ** The type of EBS encryption to be used during replication. *
* * @return The type of EBS encryption to be used during replication. * @see ReplicationConfigurationEbsEncryption */ public String getEbsEncryption() { return this.ebsEncryption; } /** ** The type of EBS encryption to be used during replication. *
* * @param ebsEncryption * The type of EBS encryption to be used during replication. * @return Returns a reference to this object so that method calls can be chained together. * @see ReplicationConfigurationEbsEncryption */ public UpdateReplicationConfigurationResult withEbsEncryption(String ebsEncryption) { setEbsEncryption(ebsEncryption); return this; } /** ** The type of EBS encryption to be used during replication. *
* * @param ebsEncryption * The type of EBS encryption to be used during replication. * @return Returns a reference to this object so that method calls can be chained together. * @see ReplicationConfigurationEbsEncryption */ public UpdateReplicationConfigurationResult withEbsEncryption(ReplicationConfigurationEbsEncryption ebsEncryption) { this.ebsEncryption = ebsEncryption.toString(); return this; } /** ** The ARN of the EBS encryption key to be used during replication. *
* * @param ebsEncryptionKeyArn * The ARN of the EBS encryption key to be used during replication. */ public void setEbsEncryptionKeyArn(String ebsEncryptionKeyArn) { this.ebsEncryptionKeyArn = ebsEncryptionKeyArn; } /** ** The ARN of the EBS encryption key to be used during replication. *
* * @return The ARN of the EBS encryption key to be used during replication. */ public String getEbsEncryptionKeyArn() { return this.ebsEncryptionKeyArn; } /** ** The ARN of the EBS encryption key to be used during replication. *
* * @param ebsEncryptionKeyArn * The ARN of the EBS encryption key to be used during replication. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withEbsEncryptionKeyArn(String ebsEncryptionKeyArn) { setEbsEncryptionKeyArn(ebsEncryptionKeyArn); return this; } /** ** The name of the Replication Configuration. *
* * @param name * The name of the Replication Configuration. */ public void setName(String name) { this.name = name; } /** ** The name of the Replication Configuration. *
* * @return The name of the Replication Configuration. */ public String getName() { return this.name; } /** ** The name of the Replication Configuration. *
* * @param name * The name of the Replication Configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withName(String name) { setName(name); return this; } /** ** The Point in time (PIT) policy to manage snapshots taken during replication. *
* * @return The Point in time (PIT) policy to manage snapshots taken during replication. */ public java.util.List* The Point in time (PIT) policy to manage snapshots taken during replication. *
* * @param pitPolicy * The Point in time (PIT) policy to manage snapshots taken during replication. */ public void setPitPolicy(java.util.Collection* The Point in time (PIT) policy to manage snapshots taken during replication. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setPitPolicy(java.util.Collection)} or {@link #withPitPolicy(java.util.Collection)} if you want to * override the existing values. *
* * @param pitPolicy * The Point in time (PIT) policy to manage snapshots taken during replication. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withPitPolicy(PITPolicyRule... pitPolicy) { if (this.pitPolicy == null) { setPitPolicy(new java.util.ArrayList* The Point in time (PIT) policy to manage snapshots taken during replication. *
* * @param pitPolicy * The Point in time (PIT) policy to manage snapshots taken during replication. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withPitPolicy(java.util.Collection* The configuration of the disks of the Source Server to be replicated. *
* * @return The configuration of the disks of the Source Server to be replicated. */ public java.util.List* The configuration of the disks of the Source Server to be replicated. *
* * @param replicatedDisks * The configuration of the disks of the Source Server to be replicated. */ public void setReplicatedDisks(java.util.Collection* The configuration of the disks of the Source Server to be replicated. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setReplicatedDisks(java.util.Collection)} or {@link #withReplicatedDisks(java.util.Collection)} if you * want to override the existing values. *
* * @param replicatedDisks * The configuration of the disks of the Source Server to be replicated. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withReplicatedDisks(ReplicationConfigurationReplicatedDisk... replicatedDisks) { if (this.replicatedDisks == null) { setReplicatedDisks(new java.util.ArrayList* The configuration of the disks of the Source Server to be replicated. *
* * @param replicatedDisks * The configuration of the disks of the Source Server to be replicated. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withReplicatedDisks(java.util.Collection* The instance type to be used for the replication server. *
* * @param replicationServerInstanceType * The instance type to be used for the replication server. */ public void setReplicationServerInstanceType(String replicationServerInstanceType) { this.replicationServerInstanceType = replicationServerInstanceType; } /** ** The instance type to be used for the replication server. *
* * @return The instance type to be used for the replication server. */ public String getReplicationServerInstanceType() { return this.replicationServerInstanceType; } /** ** The instance type to be used for the replication server. *
* * @param replicationServerInstanceType * The instance type to be used for the replication server. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withReplicationServerInstanceType(String replicationServerInstanceType) { setReplicationServerInstanceType(replicationServerInstanceType); return this; } /** ** The security group IDs that will be used by the replication server. *
* * @return The security group IDs that will be used by the replication server. */ public java.util.List* The security group IDs that will be used by the replication server. *
* * @param replicationServersSecurityGroupsIDs * The security group IDs that will be used by the replication server. */ public void setReplicationServersSecurityGroupsIDs(java.util.Collection* The security group IDs that will be used by the replication server. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setReplicationServersSecurityGroupsIDs(java.util.Collection)} or * {@link #withReplicationServersSecurityGroupsIDs(java.util.Collection)} if you want to override the existing * values. *
* * @param replicationServersSecurityGroupsIDs * The security group IDs that will be used by the replication server. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withReplicationServersSecurityGroupsIDs(String... replicationServersSecurityGroupsIDs) { if (this.replicationServersSecurityGroupsIDs == null) { setReplicationServersSecurityGroupsIDs(new java.util.ArrayList* The security group IDs that will be used by the replication server. *
* * @param replicationServersSecurityGroupsIDs * The security group IDs that will be used by the replication server. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withReplicationServersSecurityGroupsIDs(java.util.Collection* The ID of the Source Server for this Replication Configuration. *
* * @param sourceServerID * The ID of the Source Server for this Replication Configuration. */ public void setSourceServerID(String sourceServerID) { this.sourceServerID = sourceServerID; } /** ** The ID of the Source Server for this Replication Configuration. *
* * @return The ID of the Source Server for this Replication Configuration. */ public String getSourceServerID() { return this.sourceServerID; } /** ** The ID of the Source Server for this Replication Configuration. *
* * @param sourceServerID * The ID of the Source Server for this Replication Configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withSourceServerID(String sourceServerID) { setSourceServerID(sourceServerID); return this; } /** ** The subnet to be used by the replication staging area. *
* * @param stagingAreaSubnetId * The subnet to be used by the replication staging area. */ public void setStagingAreaSubnetId(String stagingAreaSubnetId) { this.stagingAreaSubnetId = stagingAreaSubnetId; } /** ** The subnet to be used by the replication staging area. *
* * @return The subnet to be used by the replication staging area. */ public String getStagingAreaSubnetId() { return this.stagingAreaSubnetId; } /** ** The subnet to be used by the replication staging area. *
* * @param stagingAreaSubnetId * The subnet to be used by the replication staging area. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withStagingAreaSubnetId(String stagingAreaSubnetId) { setStagingAreaSubnetId(stagingAreaSubnetId); return this; } /** ** A set of tags to be associated with all resources created in the replication staging area: EC2 replication * server, EBS volumes, EBS snapshots, etc. *
* * @return A set of tags to be associated with all resources created in the replication staging area: EC2 * replication server, EBS volumes, EBS snapshots, etc. */ public java.util.Map* A set of tags to be associated with all resources created in the replication staging area: EC2 replication * server, EBS volumes, EBS snapshots, etc. *
* * @param stagingAreaTags * A set of tags to be associated with all resources created in the replication staging area: EC2 replication * server, EBS volumes, EBS snapshots, etc. */ public void setStagingAreaTags(java.util.Map* A set of tags to be associated with all resources created in the replication staging area: EC2 replication * server, EBS volumes, EBS snapshots, etc. *
* * @param stagingAreaTags * A set of tags to be associated with all resources created in the replication staging area: EC2 replication * server, EBS volumes, EBS snapshots, etc. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withStagingAreaTags(java.util.Map* Whether to use a dedicated Replication Server in the replication staging area. *
* * @param useDedicatedReplicationServer * Whether to use a dedicated Replication Server in the replication staging area. */ public void setUseDedicatedReplicationServer(Boolean useDedicatedReplicationServer) { this.useDedicatedReplicationServer = useDedicatedReplicationServer; } /** ** Whether to use a dedicated Replication Server in the replication staging area. *
* * @return Whether to use a dedicated Replication Server in the replication staging area. */ public Boolean getUseDedicatedReplicationServer() { return this.useDedicatedReplicationServer; } /** ** Whether to use a dedicated Replication Server in the replication staging area. *
* * @param useDedicatedReplicationServer * Whether to use a dedicated Replication Server in the replication staging area. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationResult withUseDedicatedReplicationServer(Boolean useDedicatedReplicationServer) { setUseDedicatedReplicationServer(useDedicatedReplicationServer); return this; } /** ** Whether to use a dedicated Replication Server in the replication staging area. *
* * @return Whether to use a dedicated Replication Server in the replication staging area. */ public Boolean isUseDedicatedReplicationServer() { return this.useDedicatedReplicationServer; } /** * 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 (getAssociateDefaultSecurityGroup() != null) sb.append("AssociateDefaultSecurityGroup: ").append(getAssociateDefaultSecurityGroup()).append(","); if (getAutoReplicateNewDisks() != null) sb.append("AutoReplicateNewDisks: ").append(getAutoReplicateNewDisks()).append(","); if (getBandwidthThrottling() != null) sb.append("BandwidthThrottling: ").append(getBandwidthThrottling()).append(","); if (getCreatePublicIP() != null) sb.append("CreatePublicIP: ").append(getCreatePublicIP()).append(","); if (getDataPlaneRouting() != null) sb.append("DataPlaneRouting: ").append(getDataPlaneRouting()).append(","); if (getDefaultLargeStagingDiskType() != null) sb.append("DefaultLargeStagingDiskType: ").append(getDefaultLargeStagingDiskType()).append(","); if (getEbsEncryption() != null) sb.append("EbsEncryption: ").append(getEbsEncryption()).append(","); if (getEbsEncryptionKeyArn() != null) sb.append("EbsEncryptionKeyArn: ").append(getEbsEncryptionKeyArn()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getPitPolicy() != null) sb.append("PitPolicy: ").append(getPitPolicy()).append(","); if (getReplicatedDisks() != null) sb.append("ReplicatedDisks: ").append(getReplicatedDisks()).append(","); if (getReplicationServerInstanceType() != null) sb.append("ReplicationServerInstanceType: ").append(getReplicationServerInstanceType()).append(","); if (getReplicationServersSecurityGroupsIDs() != null) sb.append("ReplicationServersSecurityGroupsIDs: ").append(getReplicationServersSecurityGroupsIDs()).append(","); if (getSourceServerID() != null) sb.append("SourceServerID: ").append(getSourceServerID()).append(","); if (getStagingAreaSubnetId() != null) sb.append("StagingAreaSubnetId: ").append(getStagingAreaSubnetId()).append(","); if (getStagingAreaTags() != null) sb.append("StagingAreaTags: ").append("***Sensitive Data Redacted***").append(","); if (getUseDedicatedReplicationServer() != null) sb.append("UseDedicatedReplicationServer: ").append(getUseDedicatedReplicationServer()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateReplicationConfigurationResult == false) return false; UpdateReplicationConfigurationResult other = (UpdateReplicationConfigurationResult) obj; if (other.getAssociateDefaultSecurityGroup() == null ^ this.getAssociateDefaultSecurityGroup() == null) return false; if (other.getAssociateDefaultSecurityGroup() != null && other.getAssociateDefaultSecurityGroup().equals(this.getAssociateDefaultSecurityGroup()) == false) return false; if (other.getAutoReplicateNewDisks() == null ^ this.getAutoReplicateNewDisks() == null) return false; if (other.getAutoReplicateNewDisks() != null && other.getAutoReplicateNewDisks().equals(this.getAutoReplicateNewDisks()) == false) return false; if (other.getBandwidthThrottling() == null ^ this.getBandwidthThrottling() == null) return false; if (other.getBandwidthThrottling() != null && other.getBandwidthThrottling().equals(this.getBandwidthThrottling()) == false) return false; if (other.getCreatePublicIP() == null ^ this.getCreatePublicIP() == null) return false; if (other.getCreatePublicIP() != null && other.getCreatePublicIP().equals(this.getCreatePublicIP()) == false) return false; if (other.getDataPlaneRouting() == null ^ this.getDataPlaneRouting() == null) return false; if (other.getDataPlaneRouting() != null && other.getDataPlaneRouting().equals(this.getDataPlaneRouting()) == false) return false; if (other.getDefaultLargeStagingDiskType() == null ^ this.getDefaultLargeStagingDiskType() == null) return false; if (other.getDefaultLargeStagingDiskType() != null && other.getDefaultLargeStagingDiskType().equals(this.getDefaultLargeStagingDiskType()) == false) return false; if (other.getEbsEncryption() == null ^ this.getEbsEncryption() == null) return false; if (other.getEbsEncryption() != null && other.getEbsEncryption().equals(this.getEbsEncryption()) == false) return false; if (other.getEbsEncryptionKeyArn() == null ^ this.getEbsEncryptionKeyArn() == null) return false; if (other.getEbsEncryptionKeyArn() != null && other.getEbsEncryptionKeyArn().equals(this.getEbsEncryptionKeyArn()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getPitPolicy() == null ^ this.getPitPolicy() == null) return false; if (other.getPitPolicy() != null && other.getPitPolicy().equals(this.getPitPolicy()) == false) return false; if (other.getReplicatedDisks() == null ^ this.getReplicatedDisks() == null) return false; if (other.getReplicatedDisks() != null && other.getReplicatedDisks().equals(this.getReplicatedDisks()) == false) return false; if (other.getReplicationServerInstanceType() == null ^ this.getReplicationServerInstanceType() == null) return false; if (other.getReplicationServerInstanceType() != null && other.getReplicationServerInstanceType().equals(this.getReplicationServerInstanceType()) == false) return false; if (other.getReplicationServersSecurityGroupsIDs() == null ^ this.getReplicationServersSecurityGroupsIDs() == null) return false; if (other.getReplicationServersSecurityGroupsIDs() != null && other.getReplicationServersSecurityGroupsIDs().equals(this.getReplicationServersSecurityGroupsIDs()) == false) return false; if (other.getSourceServerID() == null ^ this.getSourceServerID() == null) return false; if (other.getSourceServerID() != null && other.getSourceServerID().equals(this.getSourceServerID()) == false) return false; if (other.getStagingAreaSubnetId() == null ^ this.getStagingAreaSubnetId() == null) return false; if (other.getStagingAreaSubnetId() != null && other.getStagingAreaSubnetId().equals(this.getStagingAreaSubnetId()) == false) return false; if (other.getStagingAreaTags() == null ^ this.getStagingAreaTags() == null) return false; if (other.getStagingAreaTags() != null && other.getStagingAreaTags().equals(this.getStagingAreaTags()) == false) return false; if (other.getUseDedicatedReplicationServer() == null ^ this.getUseDedicatedReplicationServer() == null) return false; if (other.getUseDedicatedReplicationServer() != null && other.getUseDedicatedReplicationServer().equals(this.getUseDedicatedReplicationServer()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAssociateDefaultSecurityGroup() == null) ? 0 : getAssociateDefaultSecurityGroup().hashCode()); hashCode = prime * hashCode + ((getAutoReplicateNewDisks() == null) ? 0 : getAutoReplicateNewDisks().hashCode()); hashCode = prime * hashCode + ((getBandwidthThrottling() == null) ? 0 : getBandwidthThrottling().hashCode()); hashCode = prime * hashCode + ((getCreatePublicIP() == null) ? 0 : getCreatePublicIP().hashCode()); hashCode = prime * hashCode + ((getDataPlaneRouting() == null) ? 0 : getDataPlaneRouting().hashCode()); hashCode = prime * hashCode + ((getDefaultLargeStagingDiskType() == null) ? 0 : getDefaultLargeStagingDiskType().hashCode()); hashCode = prime * hashCode + ((getEbsEncryption() == null) ? 0 : getEbsEncryption().hashCode()); hashCode = prime * hashCode + ((getEbsEncryptionKeyArn() == null) ? 0 : getEbsEncryptionKeyArn().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getPitPolicy() == null) ? 0 : getPitPolicy().hashCode()); hashCode = prime * hashCode + ((getReplicatedDisks() == null) ? 0 : getReplicatedDisks().hashCode()); hashCode = prime * hashCode + ((getReplicationServerInstanceType() == null) ? 0 : getReplicationServerInstanceType().hashCode()); hashCode = prime * hashCode + ((getReplicationServersSecurityGroupsIDs() == null) ? 0 : getReplicationServersSecurityGroupsIDs().hashCode()); hashCode = prime * hashCode + ((getSourceServerID() == null) ? 0 : getSourceServerID().hashCode()); hashCode = prime * hashCode + ((getStagingAreaSubnetId() == null) ? 0 : getStagingAreaSubnetId().hashCode()); hashCode = prime * hashCode + ((getStagingAreaTags() == null) ? 0 : getStagingAreaTags().hashCode()); hashCode = prime * hashCode + ((getUseDedicatedReplicationServer() == null) ? 0 : getUseDedicatedReplicationServer().hashCode()); return hashCode; } @Override public UpdateReplicationConfigurationResult clone() { try { return (UpdateReplicationConfigurationResult) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }