com.amazonaws.services.databasemigrationservice.model.CreateReplicationConfigRequest Maven / Gradle / Ivy
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.databasemigrationservice.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateReplicationConfigRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* A unique identifier that you want to use to create a ReplicationConfigArn
that is returned as part
* of the output from this action. You can then pass this output ReplicationConfigArn
as the value of
* the ReplicationConfigArn
option for other actions to identify both DMS Serverless replications and
* replication configurations that you want those actions to operate on. For some actions, you can also use either
* this unique identifier or a corresponding ARN in action filters to identify the specific replication and
* replication configuration to operate on.
*
*/
private String replicationConfigIdentifier;
/**
*
* The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.
*
*/
private String sourceEndpointArn;
/**
*
* The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
*
*/
private String targetEndpointArn;
/**
*
* Configuration parameters for provisioning an DMS Serverless replication.
*
*/
private ComputeConfig computeConfig;
/**
*
* The type of DMS Serverless replication to provision using this replication configuration.
*
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
*
*/
private String replicationType;
/**
*
* JSON table mappings for DMS Serverless replications that are provisioned using this replication configuration.
* For more information, see Specifying table selection and transformations rules using JSON.
*
*/
private String tableMappings;
/**
*
* Optional JSON settings for DMS Serverless replications that are provisioned using this replication configuration.
* For example, see Change processing tuning settings.
*
*/
private String replicationSettings;
/**
*
* Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental data
* for task settings.
*
*/
private String supplementalSettings;
/**
*
* Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource
* Name (ARN) for that resource. For more information, see
* Fine-grained access control using resource names and tags.
*
*/
private String resourceIdentifier;
/**
*
* One or more optional tags associated with resources used by the DMS Serverless replication. For more information,
* see Tagging resources in Database
* Migration Service.
*
*/
private java.util.List tags;
/**
*
* A unique identifier that you want to use to create a ReplicationConfigArn
that is returned as part
* of the output from this action. You can then pass this output ReplicationConfigArn
as the value of
* the ReplicationConfigArn
option for other actions to identify both DMS Serverless replications and
* replication configurations that you want those actions to operate on. For some actions, you can also use either
* this unique identifier or a corresponding ARN in action filters to identify the specific replication and
* replication configuration to operate on.
*
*
* @param replicationConfigIdentifier
* A unique identifier that you want to use to create a ReplicationConfigArn
that is returned as
* part of the output from this action. You can then pass this output ReplicationConfigArn
as
* the value of the ReplicationConfigArn
option for other actions to identify both DMS
* Serverless replications and replication configurations that you want those actions to operate on. For some
* actions, you can also use either this unique identifier or a corresponding ARN in action filters to
* identify the specific replication and replication configuration to operate on.
*/
public void setReplicationConfigIdentifier(String replicationConfigIdentifier) {
this.replicationConfigIdentifier = replicationConfigIdentifier;
}
/**
*
* A unique identifier that you want to use to create a ReplicationConfigArn
that is returned as part
* of the output from this action. You can then pass this output ReplicationConfigArn
as the value of
* the ReplicationConfigArn
option for other actions to identify both DMS Serverless replications and
* replication configurations that you want those actions to operate on. For some actions, you can also use either
* this unique identifier or a corresponding ARN in action filters to identify the specific replication and
* replication configuration to operate on.
*
*
* @return A unique identifier that you want to use to create a ReplicationConfigArn
that is returned
* as part of the output from this action. You can then pass this output ReplicationConfigArn
* as the value of the ReplicationConfigArn
option for other actions to identify both DMS
* Serverless replications and replication configurations that you want those actions to operate on. For
* some actions, you can also use either this unique identifier or a corresponding ARN in action filters to
* identify the specific replication and replication configuration to operate on.
*/
public String getReplicationConfigIdentifier() {
return this.replicationConfigIdentifier;
}
/**
*
* A unique identifier that you want to use to create a ReplicationConfigArn
that is returned as part
* of the output from this action. You can then pass this output ReplicationConfigArn
as the value of
* the ReplicationConfigArn
option for other actions to identify both DMS Serverless replications and
* replication configurations that you want those actions to operate on. For some actions, you can also use either
* this unique identifier or a corresponding ARN in action filters to identify the specific replication and
* replication configuration to operate on.
*
*
* @param replicationConfigIdentifier
* A unique identifier that you want to use to create a ReplicationConfigArn
that is returned as
* part of the output from this action. You can then pass this output ReplicationConfigArn
as
* the value of the ReplicationConfigArn
option for other actions to identify both DMS
* Serverless replications and replication configurations that you want those actions to operate on. For some
* actions, you can also use either this unique identifier or a corresponding ARN in action filters to
* identify the specific replication and replication configuration to operate on.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withReplicationConfigIdentifier(String replicationConfigIdentifier) {
setReplicationConfigIdentifier(replicationConfigIdentifier);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.
*
*
* @param sourceEndpointArn
* The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.
*/
public void setSourceEndpointArn(String sourceEndpointArn) {
this.sourceEndpointArn = sourceEndpointArn;
}
/**
*
* The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.
*
*
* @return The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.
*/
public String getSourceEndpointArn() {
return this.sourceEndpointArn;
}
/**
*
* The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.
*
*
* @param sourceEndpointArn
* The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withSourceEndpointArn(String sourceEndpointArn) {
setSourceEndpointArn(sourceEndpointArn);
return this;
}
/**
*
* The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
*
*
* @param targetEndpointArn
* The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
*/
public void setTargetEndpointArn(String targetEndpointArn) {
this.targetEndpointArn = targetEndpointArn;
}
/**
*
* The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
*
*
* @return The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
*/
public String getTargetEndpointArn() {
return this.targetEndpointArn;
}
/**
*
* The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
*
*
* @param targetEndpointArn
* The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withTargetEndpointArn(String targetEndpointArn) {
setTargetEndpointArn(targetEndpointArn);
return this;
}
/**
*
* Configuration parameters for provisioning an DMS Serverless replication.
*
*
* @param computeConfig
* Configuration parameters for provisioning an DMS Serverless replication.
*/
public void setComputeConfig(ComputeConfig computeConfig) {
this.computeConfig = computeConfig;
}
/**
*
* Configuration parameters for provisioning an DMS Serverless replication.
*
*
* @return Configuration parameters for provisioning an DMS Serverless replication.
*/
public ComputeConfig getComputeConfig() {
return this.computeConfig;
}
/**
*
* Configuration parameters for provisioning an DMS Serverless replication.
*
*
* @param computeConfig
* Configuration parameters for provisioning an DMS Serverless replication.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withComputeConfig(ComputeConfig computeConfig) {
setComputeConfig(computeConfig);
return this;
}
/**
*
* The type of DMS Serverless replication to provision using this replication configuration.
*
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
*
*
* @param replicationType
* The type of DMS Serverless replication to provision using this replication configuration.
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
* @see MigrationTypeValue
*/
public void setReplicationType(String replicationType) {
this.replicationType = replicationType;
}
/**
*
* The type of DMS Serverless replication to provision using this replication configuration.
*
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
*
*
* @return The type of DMS Serverless replication to provision using this replication configuration.
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
* @see MigrationTypeValue
*/
public String getReplicationType() {
return this.replicationType;
}
/**
*
* The type of DMS Serverless replication to provision using this replication configuration.
*
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
*
*
* @param replicationType
* The type of DMS Serverless replication to provision using this replication configuration.
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see MigrationTypeValue
*/
public CreateReplicationConfigRequest withReplicationType(String replicationType) {
setReplicationType(replicationType);
return this;
}
/**
*
* The type of DMS Serverless replication to provision using this replication configuration.
*
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
*
*
* @param replicationType
* The type of DMS Serverless replication to provision using this replication configuration.
*
* Possible values:
*
*
* -
*
* "full-load"
*
*
* -
*
* "cdc"
*
*
* -
*
* "full-load-and-cdc"
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see MigrationTypeValue
*/
public CreateReplicationConfigRequest withReplicationType(MigrationTypeValue replicationType) {
this.replicationType = replicationType.toString();
return this;
}
/**
*
* JSON table mappings for DMS Serverless replications that are provisioned using this replication configuration.
* For more information, see Specifying table selection and transformations rules using JSON.
*
*
* @param tableMappings
* JSON table mappings for DMS Serverless replications that are provisioned using this replication
* configuration. For more information, see Specifying table selection and transformations rules using JSON.
*/
public void setTableMappings(String tableMappings) {
this.tableMappings = tableMappings;
}
/**
*
* JSON table mappings for DMS Serverless replications that are provisioned using this replication configuration.
* For more information, see Specifying table selection and transformations rules using JSON.
*
*
* @return JSON table mappings for DMS Serverless replications that are provisioned using this replication
* configuration. For more information, see Specifying table selection and transformations rules using JSON.
*/
public String getTableMappings() {
return this.tableMappings;
}
/**
*
* JSON table mappings for DMS Serverless replications that are provisioned using this replication configuration.
* For more information, see Specifying table selection and transformations rules using JSON.
*
*
* @param tableMappings
* JSON table mappings for DMS Serverless replications that are provisioned using this replication
* configuration. For more information, see Specifying table selection and transformations rules using JSON.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withTableMappings(String tableMappings) {
setTableMappings(tableMappings);
return this;
}
/**
*
* Optional JSON settings for DMS Serverless replications that are provisioned using this replication configuration.
* For example, see Change processing tuning settings.
*
*
* @param replicationSettings
* Optional JSON settings for DMS Serverless replications that are provisioned using this replication
* configuration. For example, see Change processing tuning settings.
*/
public void setReplicationSettings(String replicationSettings) {
this.replicationSettings = replicationSettings;
}
/**
*
* Optional JSON settings for DMS Serverless replications that are provisioned using this replication configuration.
* For example, see Change processing tuning settings.
*
*
* @return Optional JSON settings for DMS Serverless replications that are provisioned using this replication
* configuration. For example, see Change processing tuning settings.
*/
public String getReplicationSettings() {
return this.replicationSettings;
}
/**
*
* Optional JSON settings for DMS Serverless replications that are provisioned using this replication configuration.
* For example, see Change processing tuning settings.
*
*
* @param replicationSettings
* Optional JSON settings for DMS Serverless replications that are provisioned using this replication
* configuration. For example, see Change processing tuning settings.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withReplicationSettings(String replicationSettings) {
setReplicationSettings(replicationSettings);
return this;
}
/**
*
* Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental data
* for task settings.
*
*
* @param supplementalSettings
* Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental
* data for task settings.
*/
public void setSupplementalSettings(String supplementalSettings) {
this.supplementalSettings = supplementalSettings;
}
/**
*
* Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental data
* for task settings.
*
*
* @return Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental
* data for task settings.
*/
public String getSupplementalSettings() {
return this.supplementalSettings;
}
/**
*
* Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental data
* for task settings.
*
*
* @param supplementalSettings
* Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental
* data for task settings.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withSupplementalSettings(String supplementalSettings) {
setSupplementalSettings(supplementalSettings);
return this;
}
/**
*
* Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource
* Name (ARN) for that resource. For more information, see
* Fine-grained access control using resource names and tags.
*
*
* @param resourceIdentifier
* Optional unique value or name that you set for a given resource that can be used to construct an Amazon
* Resource Name (ARN) for that resource. For more information, see
* Fine-grained access control using resource names and tags.
*/
public void setResourceIdentifier(String resourceIdentifier) {
this.resourceIdentifier = resourceIdentifier;
}
/**
*
* Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource
* Name (ARN) for that resource. For more information, see
* Fine-grained access control using resource names and tags.
*
*
* @return Optional unique value or name that you set for a given resource that can be used to construct an Amazon
* Resource Name (ARN) for that resource. For more information, see
* Fine-grained access control using resource names and tags.
*/
public String getResourceIdentifier() {
return this.resourceIdentifier;
}
/**
*
* Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource
* Name (ARN) for that resource. For more information, see
* Fine-grained access control using resource names and tags.
*
*
* @param resourceIdentifier
* Optional unique value or name that you set for a given resource that can be used to construct an Amazon
* Resource Name (ARN) for that resource. For more information, see
* Fine-grained access control using resource names and tags.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withResourceIdentifier(String resourceIdentifier) {
setResourceIdentifier(resourceIdentifier);
return this;
}
/**
*
* One or more optional tags associated with resources used by the DMS Serverless replication. For more information,
* see Tagging resources in Database
* Migration Service.
*
*
* @return One or more optional tags associated with resources used by the DMS Serverless replication. For more
* information, see Tagging
* resources in Database Migration Service.
*/
public java.util.List getTags() {
return tags;
}
/**
*
* One or more optional tags associated with resources used by the DMS Serverless replication. For more information,
* see Tagging resources in Database
* Migration Service.
*
*
* @param tags
* One or more optional tags associated with resources used by the DMS Serverless replication. For more
* information, see Tagging
* resources in Database Migration Service.
*/
public void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new java.util.ArrayList(tags);
}
/**
*
* One or more optional tags associated with resources used by the DMS Serverless replication. For more information,
* see Tagging resources in Database
* Migration Service.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param tags
* One or more optional tags associated with resources used by the DMS Serverless replication. For more
* information, see Tagging
* resources in Database Migration Service.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withTags(Tag... tags) {
if (this.tags == null) {
setTags(new java.util.ArrayList(tags.length));
}
for (Tag ele : tags) {
this.tags.add(ele);
}
return this;
}
/**
*
* One or more optional tags associated with resources used by the DMS Serverless replication. For more information,
* see Tagging resources in Database
* Migration Service.
*
*
* @param tags
* One or more optional tags associated with resources used by the DMS Serverless replication. For more
* information, see Tagging
* resources in Database Migration Service.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateReplicationConfigRequest withTags(java.util.Collection tags) {
setTags(tags);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getReplicationConfigIdentifier() != null)
sb.append("ReplicationConfigIdentifier: ").append(getReplicationConfigIdentifier()).append(",");
if (getSourceEndpointArn() != null)
sb.append("SourceEndpointArn: ").append(getSourceEndpointArn()).append(",");
if (getTargetEndpointArn() != null)
sb.append("TargetEndpointArn: ").append(getTargetEndpointArn()).append(",");
if (getComputeConfig() != null)
sb.append("ComputeConfig: ").append(getComputeConfig()).append(",");
if (getReplicationType() != null)
sb.append("ReplicationType: ").append(getReplicationType()).append(",");
if (getTableMappings() != null)
sb.append("TableMappings: ").append(getTableMappings()).append(",");
if (getReplicationSettings() != null)
sb.append("ReplicationSettings: ").append(getReplicationSettings()).append(",");
if (getSupplementalSettings() != null)
sb.append("SupplementalSettings: ").append(getSupplementalSettings()).append(",");
if (getResourceIdentifier() != null)
sb.append("ResourceIdentifier: ").append(getResourceIdentifier()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateReplicationConfigRequest == false)
return false;
CreateReplicationConfigRequest other = (CreateReplicationConfigRequest) obj;
if (other.getReplicationConfigIdentifier() == null ^ this.getReplicationConfigIdentifier() == null)
return false;
if (other.getReplicationConfigIdentifier() != null && other.getReplicationConfigIdentifier().equals(this.getReplicationConfigIdentifier()) == false)
return false;
if (other.getSourceEndpointArn() == null ^ this.getSourceEndpointArn() == null)
return false;
if (other.getSourceEndpointArn() != null && other.getSourceEndpointArn().equals(this.getSourceEndpointArn()) == false)
return false;
if (other.getTargetEndpointArn() == null ^ this.getTargetEndpointArn() == null)
return false;
if (other.getTargetEndpointArn() != null && other.getTargetEndpointArn().equals(this.getTargetEndpointArn()) == false)
return false;
if (other.getComputeConfig() == null ^ this.getComputeConfig() == null)
return false;
if (other.getComputeConfig() != null && other.getComputeConfig().equals(this.getComputeConfig()) == false)
return false;
if (other.getReplicationType() == null ^ this.getReplicationType() == null)
return false;
if (other.getReplicationType() != null && other.getReplicationType().equals(this.getReplicationType()) == false)
return false;
if (other.getTableMappings() == null ^ this.getTableMappings() == null)
return false;
if (other.getTableMappings() != null && other.getTableMappings().equals(this.getTableMappings()) == false)
return false;
if (other.getReplicationSettings() == null ^ this.getReplicationSettings() == null)
return false;
if (other.getReplicationSettings() != null && other.getReplicationSettings().equals(this.getReplicationSettings()) == false)
return false;
if (other.getSupplementalSettings() == null ^ this.getSupplementalSettings() == null)
return false;
if (other.getSupplementalSettings() != null && other.getSupplementalSettings().equals(this.getSupplementalSettings()) == false)
return false;
if (other.getResourceIdentifier() == null ^ this.getResourceIdentifier() == null)
return false;
if (other.getResourceIdentifier() != null && other.getResourceIdentifier().equals(this.getResourceIdentifier()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getReplicationConfigIdentifier() == null) ? 0 : getReplicationConfigIdentifier().hashCode());
hashCode = prime * hashCode + ((getSourceEndpointArn() == null) ? 0 : getSourceEndpointArn().hashCode());
hashCode = prime * hashCode + ((getTargetEndpointArn() == null) ? 0 : getTargetEndpointArn().hashCode());
hashCode = prime * hashCode + ((getComputeConfig() == null) ? 0 : getComputeConfig().hashCode());
hashCode = prime * hashCode + ((getReplicationType() == null) ? 0 : getReplicationType().hashCode());
hashCode = prime * hashCode + ((getTableMappings() == null) ? 0 : getTableMappings().hashCode());
hashCode = prime * hashCode + ((getReplicationSettings() == null) ? 0 : getReplicationSettings().hashCode());
hashCode = prime * hashCode + ((getSupplementalSettings() == null) ? 0 : getSupplementalSettings().hashCode());
hashCode = prime * hashCode + ((getResourceIdentifier() == null) ? 0 : getResourceIdentifier().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
return hashCode;
}
@Override
public CreateReplicationConfigRequest clone() {
return (CreateReplicationConfigRequest) super.clone();
}
}