All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.databasemigrationservice.model.StartReplicationRequest.kt Maven / Gradle / Ivy

The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.databasemigrationservice.model

import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant

/**
 *
 */
public class StartReplicationRequest private constructor(builder: Builder) {
    /**
     * 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.
     */
    public val cdcStartPosition: kotlin.String? = builder.cdcStartPosition
    /**
     * 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.
     */
    public val cdcStartTime: aws.smithy.kotlin.runtime.time.Instant? = builder.cdcStartTime
    /**
     * Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.
     */
    public val cdcStopPosition: kotlin.String? = builder.cdcStopPosition
    /**
     * The Amazon Resource Name of the replication for which to start replication.
     */
    public val replicationConfigArn: kotlin.String? = builder.replicationConfigArn
    /**
     * The replication type.
     *
     * When the replication type is `full-load` or `full-load-and-cdc`, the only valid value for the first run of the replication is `start-replication`. This option will start the replication.
     *
     * You can also use ReloadTables to reload specific tables that failed during replication instead of restarting the replication.
     *
     * The `resume-processing` option isn't applicable for a full-load replication, because you can't resume partially loaded tables during the full load phase.
     *
     * For a `full-load-and-cdc` replication, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use `reload-target`. Otherwise use `resume-processing`, to replicate the changes from the last stop position.
     */
    public val startReplicationType: kotlin.String? = builder.startReplicationType

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.databasemigrationservice.model.StartReplicationRequest = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("StartReplicationRequest(")
        append("cdcStartPosition=$cdcStartPosition,")
        append("cdcStartTime=$cdcStartTime,")
        append("cdcStopPosition=$cdcStopPosition,")
        append("replicationConfigArn=$replicationConfigArn,")
        append("startReplicationType=$startReplicationType")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = cdcStartPosition?.hashCode() ?: 0
        result = 31 * result + (cdcStartTime?.hashCode() ?: 0)
        result = 31 * result + (cdcStopPosition?.hashCode() ?: 0)
        result = 31 * result + (replicationConfigArn?.hashCode() ?: 0)
        result = 31 * result + (startReplicationType?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as StartReplicationRequest

        if (cdcStartPosition != other.cdcStartPosition) return false
        if (cdcStartTime != other.cdcStartTime) return false
        if (cdcStopPosition != other.cdcStopPosition) return false
        if (replicationConfigArn != other.replicationConfigArn) return false
        if (startReplicationType != other.startReplicationType) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.databasemigrationservice.model.StartReplicationRequest = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * 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.
         */
        public var cdcStartPosition: kotlin.String? = null
        /**
         * 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.
         */
        public var cdcStartTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.
         */
        public var cdcStopPosition: kotlin.String? = null
        /**
         * The Amazon Resource Name of the replication for which to start replication.
         */
        public var replicationConfigArn: kotlin.String? = null
        /**
         * The replication type.
         *
         * When the replication type is `full-load` or `full-load-and-cdc`, the only valid value for the first run of the replication is `start-replication`. This option will start the replication.
         *
         * You can also use ReloadTables to reload specific tables that failed during replication instead of restarting the replication.
         *
         * The `resume-processing` option isn't applicable for a full-load replication, because you can't resume partially loaded tables during the full load phase.
         *
         * For a `full-load-and-cdc` replication, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use `reload-target`. Otherwise use `resume-processing`, to replicate the changes from the last stop position.
         */
        public var startReplicationType: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.databasemigrationservice.model.StartReplicationRequest) : this() {
            this.cdcStartPosition = x.cdcStartPosition
            this.cdcStartTime = x.cdcStartTime
            this.cdcStopPosition = x.cdcStopPosition
            this.replicationConfigArn = x.replicationConfigArn
            this.startReplicationType = x.startReplicationType
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.databasemigrationservice.model.StartReplicationRequest = StartReplicationRequest(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy