/* * 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.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Provides information that describes a serverless replication created by the CreateReplication operation. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Replication implements Serializable, Cloneable, StructuredPojo { /** *

* The identifier for the ReplicationConfig associated with the replication. *

*/ private String replicationConfigIdentifier; /** *

* The Amazon Resource Name for the ReplicationConfig associated with the replication. *

*/ private String replicationConfigArn; /** *

* The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data * source. *

*/ private String sourceEndpointArn; /** *

* The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data * target. *

*/ private String targetEndpointArn; /** *

* The type of the serverless replication. *

*/ private String replicationType; /** *

* The current status of the serverless replication. *

*/ private String status; /** *

* Information about provisioning resources for an DMS serverless replication. *

*/ private ProvisionData provisionData; /** *

* The reason the replication task was stopped. This response parameter can return one of the following values: *

* */ private String stopReason; /** *

* Error and other information about why a serverless replication failed. *

*/ private java.util.List failureMessages; /** *

* This object provides a collection of statistics about a serverless replication. *

*/ private ReplicationStats replicationStats; /** *

* The replication type. *

*/ private String startReplicationType; /** *

* 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. *

*/ private java.util.Date 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. *

*/ private String cdcStartPosition; /** *

* Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or * commit time. *

*/ private String cdcStopPosition; /** *

* Indicates the last checkpoint that occurred during a change data capture (CDC) operation. You can provide this * value to the CdcStartPosition parameter to start a CDC operation that begins at that checkpoint. *

*/ private String recoveryCheckpoint; /** *

* The time the serverless replication was created. *

*/ private java.util.Date replicationCreateTime; /** *

* The time the serverless replication was updated. *

*/ private java.util.Date replicationUpdateTime; /** *

* The timestamp when replication was last stopped. *

*/ private java.util.Date replicationLastStopTime; /** *

* The identifier for the ReplicationConfig associated with the replication. *

* * @param replicationConfigIdentifier * The identifier for the ReplicationConfig associated with the replication. */ public void setReplicationConfigIdentifier(String replicationConfigIdentifier) { this.replicationConfigIdentifier = replicationConfigIdentifier; } /** *

* The identifier for the ReplicationConfig associated with the replication. *

* * @return The identifier for the ReplicationConfig associated with the replication. */ public String getReplicationConfigIdentifier() { return this.replicationConfigIdentifier; } /** *

* The identifier for the ReplicationConfig associated with the replication. *

* * @param replicationConfigIdentifier * The identifier for the ReplicationConfig associated with the replication. * @return Returns a reference to this object so that method calls can be chained together. */ public Replication withReplicationConfigIdentifier(String replicationConfigIdentifier) { setReplicationConfigIdentifier(replicationConfigIdentifier); return this; } /** *

* The Amazon Resource Name for the ReplicationConfig associated with the replication. *

* * @param replicationConfigArn * The Amazon Resource Name for the ReplicationConfig associated with the replication. */ public void setReplicationConfigArn(String replicationConfigArn) { this.replicationConfigArn = replicationConfigArn; } /** *

* The Amazon Resource Name for the ReplicationConfig associated with the replication. *

* * @return The Amazon Resource Name for the ReplicationConfig associated with the replication. */ public String getReplicationConfigArn() { return this.replicationConfigArn; } /** *

* The Amazon Resource Name for the ReplicationConfig associated with the replication. *

* * @param replicationConfigArn * The Amazon Resource Name for the ReplicationConfig associated with the replication. * @return Returns a reference to this object so that method calls can be chained together. */ public Replication withReplicationConfigArn(String replicationConfigArn) { setReplicationConfigArn(replicationConfigArn); return this; } /** *

* The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data * source. *

* * @param sourceEndpointArn * The Amazon Resource Name for an existing Endpoint the serverless replication uses for its * data source. */ public void setSourceEndpointArn(String sourceEndpointArn) { this.sourceEndpointArn = sourceEndpointArn; } /** *

* The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data * source. *

* * @return The Amazon Resource Name for an existing Endpoint the serverless replication uses for its * data source. */ public String getSourceEndpointArn() { return this.sourceEndpointArn; } /** *

* The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data * source. *

* * @param sourceEndpointArn * The Amazon Resource Name for an existing Endpoint the serverless replication uses for its * data source. * @return Returns a reference to this object so that method calls can be chained together. */ public Replication withSourceEndpointArn(String sourceEndpointArn) { setSourceEndpointArn(sourceEndpointArn); return this; } /** *

* The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data * target. *

* * @param targetEndpointArn * The Amazon Resource Name for an existing Endpoint the serverless replication uses for its * data target. */ public void setTargetEndpointArn(String targetEndpointArn) { this.targetEndpointArn = targetEndpointArn; } /** *

* The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data * target. *

* * @return The Amazon Resource Name for an existing Endpoint the serverless replication uses for its * data target. */ public String getTargetEndpointArn() { return this.targetEndpointArn; } /** *

* The Amazon Resource Name for an existing Endpoint the serverless replication uses for its data * target. *

* * @param targetEndpointArn * The Amazon Resource Name for an existing Endpoint the serverless replication uses for its * data target. * @return Returns a reference to this object so that method calls can be chained together. */ public Replication withTargetEndpointArn(String targetEndpointArn) { setTargetEndpointArn(targetEndpointArn); return this; } /** *

* The type of the serverless replication. *

* * @param replicationType * The type of the serverless replication. * @see MigrationTypeValue */ public void setReplicationType(String replicationType) { this.replicationType = replicationType; } /** *

* The type of the serverless replication. *

* * @return The type of the serverless replication. * @see MigrationTypeValue */ public String getReplicationType() { return this.replicationType; } /** *

* The type of the serverless replication. *

* * @param replicationType * The type of the serverless replication. * @return Returns a reference to this object so that method calls can be chained together. * @see MigrationTypeValue */ public Replication withReplicationType(String replicationType) { setReplicationType(replicationType); return this; } /** *

* The type of the serverless replication. *

* * @param replicationType * The type of the serverless replication. * @return Returns a reference to this object so that method calls can be chained together. * @see MigrationTypeValue */ public Replication withReplicationType(MigrationTypeValue replicationType) { this.replicationType = replicationType.toString(); return this; } /** *

* The current status of the serverless replication. *

* * @param status * The current status of the serverless replication. */ public void setStatus(String status) { this.status = status; } /** *

* The current status of the serverless replication. *

* * @return The current status of the serverless replication. */ public String getStatus() { return this.status; } /** *

* The current status of the serverless replication. *

* * @param status * The current status of the serverless replication. * @return Returns a reference to this object so that method calls can be chained together. */ public Replication withStatus(String status) { setStatus(status); return this; } /** *

* Information about provisioning resources for an DMS serverless replication. *

* * @param provisionData * Information about provisioning resources for an DMS serverless replication. */ public void setProvisionData(ProvisionData provisionData) { this.provisionData = provisionData; } /** *

* Information about provisioning resources for an DMS serverless replication. *

* * @return Information about provisioning resources for an DMS serverless replication. */ public ProvisionData getProvisionData() { return this.provisionData; } /** *

* Information about provisioning resources for an DMS serverless replication. *

* * @param provisionData * Information about provisioning resources for an DMS serverless replication. * @return Returns a reference to this object so that method calls can be chained together. */ public Replication withProvisionData(ProvisionData provisionData) { setProvisionData(provisionData); return this; } /** *

* The reason the replication task was stopped. This response parameter can return one of the following values: *

* * * @param stopReason * The reason the replication task was stopped. This response parameter can return one of the following * values:

*