* The Replication Configuration Template ARN. *
*/ private String arn; /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration * Template. *
*/ 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 Point in time (PIT) policy to manage snapshots taken during replication. *
*/ private java.util.List* The Replication Configuration Template ID. *
*/ private String replicationConfigurationTemplateID; /** ** 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 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* A set of tags to be associated with the Replication Configuration Template resource. *
*/ private java.util.Map* Whether to use a dedicated Replication Server in the replication staging area. *
*/ private Boolean useDedicatedReplicationServer; /** ** The Replication Configuration Template ARN. *
* * @param arn * The Replication Configuration Template ARN. */ public void setArn(String arn) { this.arn = arn; } /** ** The Replication Configuration Template ARN. *
* * @return The Replication Configuration Template ARN. */ public String getArn() { return this.arn; } /** ** The Replication Configuration Template ARN. *
* * @param arn * The Replication Configuration Template ARN. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationTemplateResult withArn(String arn) { setArn(arn); return this; } /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration * Template. *
* * @param associateDefaultSecurityGroup * Whether to associate the default Elastic Disaster Recovery Security group with the Replication * Configuration Template. */ public void setAssociateDefaultSecurityGroup(Boolean associateDefaultSecurityGroup) { this.associateDefaultSecurityGroup = associateDefaultSecurityGroup; } /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration * Template. *
* * @return Whether to associate the default Elastic Disaster Recovery Security group with the Replication * Configuration Template. */ public Boolean getAssociateDefaultSecurityGroup() { return this.associateDefaultSecurityGroup; } /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration * Template. *
* * @param associateDefaultSecurityGroup * Whether to associate the default Elastic Disaster Recovery Security group with the Replication * Configuration Template. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationTemplateResult withAssociateDefaultSecurityGroup(Boolean associateDefaultSecurityGroup) { setAssociateDefaultSecurityGroup(associateDefaultSecurityGroup); return this; } /** ** Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration * Template. *
* * @return Whether to associate the default Elastic Disaster Recovery Security group with the Replication * Configuration Template. */ 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult withEbsEncryptionKeyArn(String ebsEncryptionKeyArn) { setEbsEncryptionKeyArn(ebsEncryptionKeyArn); 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult withPitPolicy(java.util.Collection* The Replication Configuration Template ID. *
* * @param replicationConfigurationTemplateID * The Replication Configuration Template ID. */ public void setReplicationConfigurationTemplateID(String replicationConfigurationTemplateID) { this.replicationConfigurationTemplateID = replicationConfigurationTemplateID; } /** ** The Replication Configuration Template ID. *
* * @return The Replication Configuration Template ID. */ public String getReplicationConfigurationTemplateID() { return this.replicationConfigurationTemplateID; } /** ** The Replication Configuration Template ID. *
* * @param replicationConfigurationTemplateID * The Replication Configuration Template ID. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationTemplateResult withReplicationConfigurationTemplateID(String replicationConfigurationTemplateID) { setReplicationConfigurationTemplateID(replicationConfigurationTemplateID); return this; } /** ** 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult withReplicationServersSecurityGroupsIDs(java.util.Collection* 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 UpdateReplicationConfigurationTemplateResult 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 UpdateReplicationConfigurationTemplateResult withStagingAreaTags(java.util.Map* A set of tags to be associated with the Replication Configuration Template resource. *
* * @return A set of tags to be associated with the Replication Configuration Template resource. */ public java.util.Map* A set of tags to be associated with the Replication Configuration Template resource. *
* * @param tags * A set of tags to be associated with the Replication Configuration Template resource. */ public void setTags(java.util.Map* A set of tags to be associated with the Replication Configuration Template resource. *
* * @param tags * A set of tags to be associated with the Replication Configuration Template resource. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateReplicationConfigurationTemplateResult withTags(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 UpdateReplicationConfigurationTemplateResult 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 (getArn() != null) sb.append("Arn: ").append(getArn()).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 (getPitPolicy() != null) sb.append("PitPolicy: ").append(getPitPolicy()).append(","); if (getReplicationConfigurationTemplateID() != null) sb.append("ReplicationConfigurationTemplateID: ").append(getReplicationConfigurationTemplateID()).append(","); if (getReplicationServerInstanceType() != null) sb.append("ReplicationServerInstanceType: ").append(getReplicationServerInstanceType()).append(","); if (getReplicationServersSecurityGroupsIDs() != null) sb.append("ReplicationServersSecurityGroupsIDs: ").append(getReplicationServersSecurityGroupsIDs()).append(","); if (getStagingAreaSubnetId() != null) sb.append("StagingAreaSubnetId: ").append(getStagingAreaSubnetId()).append(","); if (getStagingAreaTags() != null) sb.append("StagingAreaTags: ").append("***Sensitive Data Redacted***").append(","); if (getTags() != null) sb.append("Tags: ").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 UpdateReplicationConfigurationTemplateResult == false) return false; UpdateReplicationConfigurationTemplateResult other = (UpdateReplicationConfigurationTemplateResult) obj; if (other.getArn() == null ^ this.getArn() == null) return false; if (other.getArn() != null && other.getArn().equals(this.getArn()) == false) return false; 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.getPitPolicy() == null ^ this.getPitPolicy() == null) return false; if (other.getPitPolicy() != null && other.getPitPolicy().equals(this.getPitPolicy()) == false) return false; if (other.getReplicationConfigurationTemplateID() == null ^ this.getReplicationConfigurationTemplateID() == null) return false; if (other.getReplicationConfigurationTemplateID() != null && other.getReplicationConfigurationTemplateID().equals(this.getReplicationConfigurationTemplateID()) == 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.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.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == 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 + ((getArn() == null) ? 0 : getArn().hashCode()); 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 + ((getPitPolicy() == null) ? 0 : getPitPolicy().hashCode()); hashCode = prime * hashCode + ((getReplicationConfigurationTemplateID() == null) ? 0 : getReplicationConfigurationTemplateID().hashCode()); hashCode = prime * hashCode + ((getReplicationServerInstanceType() == null) ? 0 : getReplicationServerInstanceType().hashCode()); hashCode = prime * hashCode + ((getReplicationServersSecurityGroupsIDs() == null) ? 0 : getReplicationServersSecurityGroupsIDs().hashCode()); hashCode = prime * hashCode + ((getStagingAreaSubnetId() == null) ? 0 : getStagingAreaSubnetId().hashCode()); hashCode = prime * hashCode + ((getStagingAreaTags() == null) ? 0 : getStagingAreaTags().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getUseDedicatedReplicationServer() == null) ? 0 : getUseDedicatedReplicationServer().hashCode()); return hashCode; } @Override public UpdateReplicationConfigurationTemplateResult clone() { try { return (UpdateReplicationConfigurationTemplateResult) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }