com.amazonaws.services.drs.model.CreateReplicationConfigurationTemplateResult Maven / Gradle / Ivy
Show all versions of aws-java-sdk-drs Show documentation
/*
* Copyright 2018-2023 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.drs.model;
import java.io.Serializable;
import javax.annotation.Generated;
/**
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateReplicationConfigurationTemplateResult extends com.amazonaws.AmazonWebServiceResult implements Serializable,
Cloneable {
/**
*
* 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 pitPolicy;
/**
*
* 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 replicationServersSecurityGroupsIDs;
/**
*
* 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 stagingAreaTags;
/**
*
* A set of tags to be associated with the Replication Configuration Template resource.
*
*/
private java.util.Map tags;
/**
*
* 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 getPitPolicy() {
return pitPolicy;
}
/**
*
* 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 pitPolicy) {
if (pitPolicy == null) {
this.pitPolicy = null;
return;
}
this.pitPolicy = new java.util.ArrayList(pitPolicy);
}
/**
*
* 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 CreateReplicationConfigurationTemplateResult withPitPolicy(PITPolicyRule... pitPolicy) {
if (this.pitPolicy == null) {
setPitPolicy(new java.util.ArrayList(pitPolicy.length));
}
for (PITPolicyRule ele : pitPolicy) {
this.pitPolicy.add(ele);
}
return this;
}
/**
*
* 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 CreateReplicationConfigurationTemplateResult withPitPolicy(java.util.Collection pitPolicy) {
setPitPolicy(pitPolicy);
return this;
}
/**
*
* 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult 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 getReplicationServersSecurityGroupsIDs() {
return replicationServersSecurityGroupsIDs;
}
/**
*
* 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 replicationServersSecurityGroupsIDs) {
if (replicationServersSecurityGroupsIDs == null) {
this.replicationServersSecurityGroupsIDs = null;
return;
}
this.replicationServersSecurityGroupsIDs = new java.util.ArrayList(replicationServersSecurityGroupsIDs);
}
/**
*
* 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 CreateReplicationConfigurationTemplateResult withReplicationServersSecurityGroupsIDs(String... replicationServersSecurityGroupsIDs) {
if (this.replicationServersSecurityGroupsIDs == null) {
setReplicationServersSecurityGroupsIDs(new java.util.ArrayList(replicationServersSecurityGroupsIDs.length));
}
for (String ele : replicationServersSecurityGroupsIDs) {
this.replicationServersSecurityGroupsIDs.add(ele);
}
return this;
}
/**
*
* 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 CreateReplicationConfigurationTemplateResult withReplicationServersSecurityGroupsIDs(java.util.Collection replicationServersSecurityGroupsIDs) {
setReplicationServersSecurityGroupsIDs(replicationServersSecurityGroupsIDs);
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 CreateReplicationConfigurationTemplateResult 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 getStagingAreaTags() {
return 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.
*
*
* @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 stagingAreaTags) {
this.stagingAreaTags = 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.
*
*
* @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 CreateReplicationConfigurationTemplateResult withStagingAreaTags(java.util.Map stagingAreaTags) {
setStagingAreaTags(stagingAreaTags);
return this;
}
/**
* Add a single StagingAreaTags entry
*
* @see CreateReplicationConfigurationTemplateResult#withStagingAreaTags
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigurationTemplateResult addStagingAreaTagsEntry(String key, String value) {
if (null == this.stagingAreaTags) {
this.stagingAreaTags = new java.util.HashMap();
}
if (this.stagingAreaTags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.stagingAreaTags.put(key, value);
return this;
}
/**
* Removes all the entries added into StagingAreaTags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigurationTemplateResult clearStagingAreaTagsEntries() {
this.stagingAreaTags = null;
return this;
}
/**
*
* 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 getTags() {
return tags;
}
/**
*
* 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 tags) {
this.tags = tags;
}
/**
*
* 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 CreateReplicationConfigurationTemplateResult withTags(java.util.Map tags) {
setTags(tags);
return this;
}
/**
* Add a single Tags entry
*
* @see CreateReplicationConfigurationTemplateResult#withTags
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigurationTemplateResult addTagsEntry(String key, String value) {
if (null == this.tags) {
this.tags = new java.util.HashMap();
}
if (this.tags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.tags.put(key, value);
return this;
}
/**
* Removes all the entries added into Tags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigurationTemplateResult clearTagsEntries() {
this.tags = null;
return this;
}
/**
*
* 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 CreateReplicationConfigurationTemplateResult 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 CreateReplicationConfigurationTemplateResult == false)
return false;
CreateReplicationConfigurationTemplateResult other = (CreateReplicationConfigurationTemplateResult) 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 CreateReplicationConfigurationTemplateResult clone() {
try {
return (CreateReplicationConfigurationTemplateResult) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}