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

commonMain.aws.sdk.kotlin.services.mgn.model.DataReplicationInfo.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.mgn.model



/**
 * Request data replication info.
 */
class DataReplicationInfo private constructor(builder: Builder) {
    /**
     * Error in obtaining data replication info.
     */
    val dataReplicationError: aws.sdk.kotlin.services.mgn.model.DataReplicationError? = builder.dataReplicationError
    /**
     * Request to query whether data replication has been initiated.
     */
    val dataReplicationInitiation: aws.sdk.kotlin.services.mgn.model.DataReplicationInitiation? = builder.dataReplicationInitiation
    /**
     * Request to query the data replication state.
     */
    val dataReplicationState: aws.sdk.kotlin.services.mgn.model.DataReplicationState? = builder.dataReplicationState
    /**
     * Request to query the time when data replication will be complete.
     */
    val etaDateTime: kotlin.String? = builder.etaDateTime
    /**
     * Request to query data replication lag duration.
     */
    val lagDuration: kotlin.String? = builder.lagDuration
    /**
     * Request to query data replication last snapshot time.
     */
    val lastSnapshotDateTime: kotlin.String? = builder.lastSnapshotDateTime
    /**
     * Request to query disks replicated.
     */
    val replicatedDisks: List? = builder.replicatedDisks

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

    override fun toString(): kotlin.String = buildString {
        append("DataReplicationInfo(")
        append("dataReplicationError=$dataReplicationError,")
        append("dataReplicationInitiation=$dataReplicationInitiation,")
        append("dataReplicationState=$dataReplicationState,")
        append("etaDateTime=$etaDateTime,")
        append("lagDuration=$lagDuration,")
        append("lastSnapshotDateTime=$lastSnapshotDateTime,")
        append("replicatedDisks=$replicatedDisks)")
    }

    override fun hashCode(): kotlin.Int {
        var result = dataReplicationError?.hashCode() ?: 0
        result = 31 * result + (dataReplicationInitiation?.hashCode() ?: 0)
        result = 31 * result + (dataReplicationState?.hashCode() ?: 0)
        result = 31 * result + (etaDateTime?.hashCode() ?: 0)
        result = 31 * result + (lagDuration?.hashCode() ?: 0)
        result = 31 * result + (lastSnapshotDateTime?.hashCode() ?: 0)
        result = 31 * result + (replicatedDisks?.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 DataReplicationInfo

        if (dataReplicationError != other.dataReplicationError) return false
        if (dataReplicationInitiation != other.dataReplicationInitiation) return false
        if (dataReplicationState != other.dataReplicationState) return false
        if (etaDateTime != other.etaDateTime) return false
        if (lagDuration != other.lagDuration) return false
        if (lastSnapshotDateTime != other.lastSnapshotDateTime) return false
        if (replicatedDisks != other.replicatedDisks) return false

        return true
    }

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

    class Builder {
        /**
         * Error in obtaining data replication info.
         */
        var dataReplicationError: aws.sdk.kotlin.services.mgn.model.DataReplicationError? = null
        /**
         * Request to query whether data replication has been initiated.
         */
        var dataReplicationInitiation: aws.sdk.kotlin.services.mgn.model.DataReplicationInitiation? = null
        /**
         * Request to query the data replication state.
         */
        var dataReplicationState: aws.sdk.kotlin.services.mgn.model.DataReplicationState? = null
        /**
         * Request to query the time when data replication will be complete.
         */
        var etaDateTime: kotlin.String? = null
        /**
         * Request to query data replication lag duration.
         */
        var lagDuration: kotlin.String? = null
        /**
         * Request to query data replication last snapshot time.
         */
        var lastSnapshotDateTime: kotlin.String? = null
        /**
         * Request to query disks replicated.
         */
        var replicatedDisks: List? = null

        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.mgn.model.DataReplicationInfo) : this() {
            this.dataReplicationError = x.dataReplicationError
            this.dataReplicationInitiation = x.dataReplicationInitiation
            this.dataReplicationState = x.dataReplicationState
            this.etaDateTime = x.etaDateTime
            this.lagDuration = x.lagDuration
            this.lastSnapshotDateTime = x.lastSnapshotDateTime
            this.replicatedDisks = x.replicatedDisks
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.mgn.model.DataReplicationError] inside the given [block]
         */
        fun dataReplicationError(block: aws.sdk.kotlin.services.mgn.model.DataReplicationError.Builder.() -> kotlin.Unit) {
            this.dataReplicationError = aws.sdk.kotlin.services.mgn.model.DataReplicationError.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.mgn.model.DataReplicationInitiation] inside the given [block]
         */
        fun dataReplicationInitiation(block: aws.sdk.kotlin.services.mgn.model.DataReplicationInitiation.Builder.() -> kotlin.Unit) {
            this.dataReplicationInitiation = aws.sdk.kotlin.services.mgn.model.DataReplicationInitiation.invoke(block)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy