/* * 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.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 ModifyReplicationTaskRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** ** The Amazon Resource Name (ARN) of the replication task. *
*/ private String replicationTaskArn; /** ** The replication task identifier. *
** Constraints: *
** Must contain 1-255 alphanumeric characters or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* The migration type. Valid values: full-load
| cdc
| full-load-and-cdc
*
* When using the CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path
* with file://
. For example, --table-mappings file://mappingfile.json
. When working with
* the DMS API, provide the JSON as the parameter value.
*
* JSON file that contains settings for the task, such as task metadata settings. *
*/ private String replicationTaskSettings; /** ** Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition * to specify when you want a CDC operation to start. Specifying both values results in an error. *
** Timestamp Example: --cdc-start-time “2018-03-08T12:12:12” *
*/ private java.util.Date cdcStartTime; /** ** Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or * CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error. *
** The value can be in date, checkpoint, or LSN/SCN format. *
** Date Example: --cdc-start-position “2018-03-08T12:12:12” *
** Checkpoint Example: --cdc-start-position * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" *
** LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” *
*
* When you use this task setting with a source PostgreSQL database, a logical replication slot should already be
* created and associated with the source endpoint. You can verify this by setting the slotName
extra
* connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.
*
* Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or * commit time. *
** Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” *
** Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“ *
*/ private String cdcStopPosition; /** ** Supplemental information that the task requires to migrate the data for certain source and target endpoints. For * more information, see Specifying Supplemental Data for * Task Settings in the Database Migration Service User Guide. *
*/ private String taskData; /** ** The Amazon Resource Name (ARN) of the replication task. *
* * @param replicationTaskArn * The Amazon Resource Name (ARN) of the replication task. */ public void setReplicationTaskArn(String replicationTaskArn) { this.replicationTaskArn = replicationTaskArn; } /** ** The Amazon Resource Name (ARN) of the replication task. *
* * @return The Amazon Resource Name (ARN) of the replication task. */ public String getReplicationTaskArn() { return this.replicationTaskArn; } /** ** The Amazon Resource Name (ARN) of the replication task. *
* * @param replicationTaskArn * The Amazon Resource Name (ARN) of the replication task. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyReplicationTaskRequest withReplicationTaskArn(String replicationTaskArn) { setReplicationTaskArn(replicationTaskArn); return this; } /** ** The replication task identifier. *
** Constraints: *
** Must contain 1-255 alphanumeric characters or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
** Constraints: *
** Must contain 1-255 alphanumeric characters or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
** The replication task identifier. *
** Constraints: *
** Must contain 1-255 alphanumeric characters or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
** Constraints: *
** Must contain 1-255 alphanumeric characters or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
** The replication task identifier. *
** Constraints: *
** Must contain 1-255 alphanumeric characters or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
** Constraints: *
** Must contain 1-255 alphanumeric characters or hyphens. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
*
* The migration type. Valid values: full-load
| cdc
| full-load-and-cdc
*
full-load
| cdc
|
* full-load-and-cdc
* @see MigrationTypeValue
*/
public void setMigrationType(String migrationType) {
this.migrationType = migrationType;
}
/**
*
* The migration type. Valid values: full-load
| cdc
| full-load-and-cdc
*
full-load
| cdc
|
* full-load-and-cdc
* @see MigrationTypeValue
*/
public String getMigrationType() {
return this.migrationType;
}
/**
*
* The migration type. Valid values: full-load
| cdc
| full-load-and-cdc
*
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 ModifyReplicationTaskRequest withMigrationType(String migrationType) {
setMigrationType(migrationType);
return this;
}
/**
*
* The migration type. Valid values: full-load
| cdc
| full-load-and-cdc
*
full-load
| cdc
|
* full-load-and-cdc
* @see MigrationTypeValue
*/
public void setMigrationType(MigrationTypeValue migrationType) {
withMigrationType(migrationType);
}
/**
*
* The migration type. Valid values: full-load
| cdc
| full-load-and-cdc
*
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 ModifyReplicationTaskRequest withMigrationType(MigrationTypeValue migrationType) {
this.migrationType = migrationType.toString();
return this;
}
/**
*
* When using the CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path
* with file://
. For example, --table-mappings file://mappingfile.json
. When working with
* the DMS API, provide the JSON as the parameter value.
*
file://
. For example, --table-mappings file://mappingfile.json
.
* When working with the DMS API, provide the JSON as the parameter value.
*/
public void setTableMappings(String tableMappings) {
this.tableMappings = tableMappings;
}
/**
*
* When using the CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path
* with file://
. For example, --table-mappings file://mappingfile.json
. When working with
* the DMS API, provide the JSON as the parameter value.
*
file://
. For example, --table-mappings file://mappingfile.json
.
* When working with the DMS API, provide the JSON as the parameter value.
*/
public String getTableMappings() {
return this.tableMappings;
}
/**
*
* When using the CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path
* with file://
. For example, --table-mappings file://mappingfile.json
. When working with
* the DMS API, provide the JSON as the parameter value.
*
file://
. For example, --table-mappings file://mappingfile.json
.
* When working with the DMS API, provide the JSON as the parameter value.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyReplicationTaskRequest withTableMappings(String tableMappings) {
setTableMappings(tableMappings);
return this;
}
/**
* * JSON file that contains settings for the task, such as task metadata settings. *
* * @param replicationTaskSettings * JSON file that contains settings for the task, such as task metadata settings. */ public void setReplicationTaskSettings(String replicationTaskSettings) { this.replicationTaskSettings = replicationTaskSettings; } /** ** JSON file that contains settings for the task, such as task metadata settings. *
* * @return JSON file that contains settings for the task, such as task metadata settings. */ public String getReplicationTaskSettings() { return this.replicationTaskSettings; } /** ** JSON file that contains settings for the task, such as task metadata settings. *
* * @param replicationTaskSettings * JSON file that contains settings for the task, such as task metadata settings. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyReplicationTaskRequest withReplicationTaskSettings(String replicationTaskSettings) { setReplicationTaskSettings(replicationTaskSettings); return this; } /** ** Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition * to specify when you want a CDC operation to start. Specifying both values results in an error. *
** Timestamp Example: --cdc-start-time “2018-03-08T12:12:12” *
* * @param cdcStartTime * Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or * CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an * error. ** Timestamp Example: --cdc-start-time “2018-03-08T12:12:12” */ public void setCdcStartTime(java.util.Date cdcStartTime) { this.cdcStartTime = cdcStartTime; } /** *
* Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition * to specify when you want a CDC operation to start. Specifying both values results in an error. *
** Timestamp Example: --cdc-start-time “2018-03-08T12:12:12” *
* * @return Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or * CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an * error. ** Timestamp Example: --cdc-start-time “2018-03-08T12:12:12” */ public java.util.Date getCdcStartTime() { return this.cdcStartTime; } /** *
* Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition * to specify when you want a CDC operation to start. Specifying both values results in an error. *
** Timestamp Example: --cdc-start-time “2018-03-08T12:12:12” *
* * @param cdcStartTime * Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or * CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an * error. ** Timestamp Example: --cdc-start-time “2018-03-08T12:12:12” * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyReplicationTaskRequest withCdcStartTime(java.util.Date cdcStartTime) { setCdcStartTime(cdcStartTime); return this; } /** *
* Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or * CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error. *
** The value can be in date, checkpoint, or LSN/SCN format. *
** Date Example: --cdc-start-position “2018-03-08T12:12:12” *
** Checkpoint Example: --cdc-start-position * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" *
** LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” *
*
* When you use this task setting with a source PostgreSQL database, a logical replication slot should already be
* created and associated with the source endpoint. You can verify this by setting the slotName
extra
* connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.
*
* The value can be in date, checkpoint, or LSN/SCN format. *
** Date Example: --cdc-start-position “2018-03-08T12:12:12” *
** Checkpoint Example: --cdc-start-position * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" *
** LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” *
*
* When you use this task setting with a source PostgreSQL database, a logical replication slot should
* already be created and associated with the source endpoint. You can verify this by setting the
* slotName
extra connection attribute to the name of this logical replication slot. For more
* information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.
*
* Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or * CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error. *
** The value can be in date, checkpoint, or LSN/SCN format. *
** Date Example: --cdc-start-position “2018-03-08T12:12:12” *
** Checkpoint Example: --cdc-start-position * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" *
** LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” *
*
* When you use this task setting with a source PostgreSQL database, a logical replication slot should already be
* created and associated with the source endpoint. You can verify this by setting the slotName
extra
* connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.
*
* The value can be in date, checkpoint, or LSN/SCN format. *
** Date Example: --cdc-start-position “2018-03-08T12:12:12” *
** Checkpoint Example: --cdc-start-position * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" *
** LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” *
*
* When you use this task setting with a source PostgreSQL database, a logical replication slot should
* already be created and associated with the source endpoint. You can verify this by setting the
* slotName
extra connection attribute to the name of this logical replication slot. For more
* information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.
*
* Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or * CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error. *
** The value can be in date, checkpoint, or LSN/SCN format. *
** Date Example: --cdc-start-position “2018-03-08T12:12:12” *
** Checkpoint Example: --cdc-start-position * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" *
** LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” *
*
* When you use this task setting with a source PostgreSQL database, a logical replication slot should already be
* created and associated with the source endpoint. You can verify this by setting the slotName
extra
* connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.
*
* The value can be in date, checkpoint, or LSN/SCN format. *
** Date Example: --cdc-start-position “2018-03-08T12:12:12” *
** Checkpoint Example: --cdc-start-position * "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93" *
** LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373” *
*
* When you use this task setting with a source PostgreSQL database, a logical replication slot should
* already be created and associated with the source endpoint. You can verify this by setting the
* slotName
extra connection attribute to the name of this logical replication slot. For more
* information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.
*
* Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or * commit time. *
** Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” *
** Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“ *
* * @param cdcStopPosition * Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time * or commit time. ** Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” *
** Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“ */ public void setCdcStopPosition(String cdcStopPosition) { this.cdcStopPosition = cdcStopPosition; } /** *
* Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or * commit time. *
** Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” *
** Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“ *
* * @return Indicates when you want a change data capture (CDC) operation to stop. The value can be either server * time or commit time. ** Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” *
** Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“ */ public String getCdcStopPosition() { return this.cdcStopPosition; } /** *
* Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or * commit time. *
** Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” *
** Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“ *
* * @param cdcStopPosition * Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time * or commit time. ** Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12” *
** Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“ * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyReplicationTaskRequest withCdcStopPosition(String cdcStopPosition) { setCdcStopPosition(cdcStopPosition); return this; } /** *
* Supplemental information that the task requires to migrate the data for certain source and target endpoints. For * more information, see Specifying Supplemental Data for * Task Settings in the Database Migration Service User Guide. *
* * @param taskData * Supplemental information that the task requires to migrate the data for certain source and target * endpoints. For more information, see Specifying Supplemental * Data for Task Settings in the Database Migration Service User Guide. */ public void setTaskData(String taskData) { this.taskData = taskData; } /** ** Supplemental information that the task requires to migrate the data for certain source and target endpoints. For * more information, see Specifying Supplemental Data for * Task Settings in the Database Migration Service User Guide. *
* * @return Supplemental information that the task requires to migrate the data for certain source and target * endpoints. For more information, see Specifying Supplemental * Data for Task Settings in the Database Migration Service User Guide. */ public String getTaskData() { return this.taskData; } /** ** Supplemental information that the task requires to migrate the data for certain source and target endpoints. For * more information, see Specifying Supplemental Data for * Task Settings in the Database Migration Service User Guide. *
* * @param taskData * Supplemental information that the task requires to migrate the data for certain source and target * endpoints. For more information, see Specifying Supplemental * Data for Task Settings in the Database Migration Service User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyReplicationTaskRequest withTaskData(String taskData) { setTaskData(taskData); 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 (getReplicationTaskArn() != null) sb.append("ReplicationTaskArn: ").append(getReplicationTaskArn()).append(","); if (getReplicationTaskIdentifier() != null) sb.append("ReplicationTaskIdentifier: ").append(getReplicationTaskIdentifier()).append(","); if (getMigrationType() != null) sb.append("MigrationType: ").append(getMigrationType()).append(","); if (getTableMappings() != null) sb.append("TableMappings: ").append(getTableMappings()).append(","); if (getReplicationTaskSettings() != null) sb.append("ReplicationTaskSettings: ").append(getReplicationTaskSettings()).append(","); if (getCdcStartTime() != null) sb.append("CdcStartTime: ").append(getCdcStartTime()).append(","); if (getCdcStartPosition() != null) sb.append("CdcStartPosition: ").append(getCdcStartPosition()).append(","); if (getCdcStopPosition() != null) sb.append("CdcStopPosition: ").append(getCdcStopPosition()).append(","); if (getTaskData() != null) sb.append("TaskData: ").append(getTaskData()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ModifyReplicationTaskRequest == false) return false; ModifyReplicationTaskRequest other = (ModifyReplicationTaskRequest) obj; if (other.getReplicationTaskArn() == null ^ this.getReplicationTaskArn() == null) return false; if (other.getReplicationTaskArn() != null && other.getReplicationTaskArn().equals(this.getReplicationTaskArn()) == false) return false; if (other.getReplicationTaskIdentifier() == null ^ this.getReplicationTaskIdentifier() == null) return false; if (other.getReplicationTaskIdentifier() != null && other.getReplicationTaskIdentifier().equals(this.getReplicationTaskIdentifier()) == false) return false; if (other.getMigrationType() == null ^ this.getMigrationType() == null) return false; if (other.getMigrationType() != null && other.getMigrationType().equals(this.getMigrationType()) == 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.getReplicationTaskSettings() == null ^ this.getReplicationTaskSettings() == null) return false; if (other.getReplicationTaskSettings() != null && other.getReplicationTaskSettings().equals(this.getReplicationTaskSettings()) == false) return false; if (other.getCdcStartTime() == null ^ this.getCdcStartTime() == null) return false; if (other.getCdcStartTime() != null && other.getCdcStartTime().equals(this.getCdcStartTime()) == false) return false; if (other.getCdcStartPosition() == null ^ this.getCdcStartPosition() == null) return false; if (other.getCdcStartPosition() != null && other.getCdcStartPosition().equals(this.getCdcStartPosition()) == false) return false; if (other.getCdcStopPosition() == null ^ this.getCdcStopPosition() == null) return false; if (other.getCdcStopPosition() != null && other.getCdcStopPosition().equals(this.getCdcStopPosition()) == false) return false; if (other.getTaskData() == null ^ this.getTaskData() == null) return false; if (other.getTaskData() != null && other.getTaskData().equals(this.getTaskData()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getReplicationTaskArn() == null) ? 0 : getReplicationTaskArn().hashCode()); hashCode = prime * hashCode + ((getReplicationTaskIdentifier() == null) ? 0 : getReplicationTaskIdentifier().hashCode()); hashCode = prime * hashCode + ((getMigrationType() == null) ? 0 : getMigrationType().hashCode()); hashCode = prime * hashCode + ((getTableMappings() == null) ? 0 : getTableMappings().hashCode()); hashCode = prime * hashCode + ((getReplicationTaskSettings() == null) ? 0 : getReplicationTaskSettings().hashCode()); hashCode = prime * hashCode + ((getCdcStartTime() == null) ? 0 : getCdcStartTime().hashCode()); hashCode = prime * hashCode + ((getCdcStartPosition() == null) ? 0 : getCdcStartPosition().hashCode()); hashCode = prime * hashCode + ((getCdcStopPosition() == null) ? 0 : getCdcStopPosition().hashCode()); hashCode = prime * hashCode + ((getTaskData() == null) ? 0 : getTaskData().hashCode()); return hashCode; } @Override public ModifyReplicationTaskRequest clone() { return (ModifyReplicationTaskRequest) super.clone(); } }