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

commonMain.aws.sdk.kotlin.services.databasemigrationservice.model.ModifyReplicationConfigRequest.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

/**
 *
 */
public class ModifyReplicationConfigRequest private constructor(builder: Builder) {
    /**
     * Configuration parameters for provisioning an DMS Serverless replication.
     */
    public val computeConfig: aws.sdk.kotlin.services.databasemigrationservice.model.ComputeConfig? = builder.computeConfig
    /**
     * The Amazon Resource Name of the replication to modify.
     */
    public val replicationConfigArn: kotlin.String? = builder.replicationConfigArn
    /**
     * The new replication config to apply to the replication.
     */
    public val replicationConfigIdentifier: kotlin.String? = builder.replicationConfigIdentifier
    /**
     * The settings for the replication.
     */
    public val replicationSettings: kotlin.String? = builder.replicationSettings
    /**
     * The type of replication.
     */
    public val replicationType: aws.sdk.kotlin.services.databasemigrationservice.model.MigrationTypeValue? = builder.replicationType
    /**
     * The Amazon Resource Name (ARN) of the source endpoint for this DMS serverless replication configuration.
     */
    public val sourceEndpointArn: kotlin.String? = builder.sourceEndpointArn
    /**
     * Additional settings for the replication.
     */
    public val supplementalSettings: kotlin.String? = builder.supplementalSettings
    /**
     * Table mappings specified in the replication.
     */
    public val tableMappings: kotlin.String? = builder.tableMappings
    /**
     * The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
     */
    public val targetEndpointArn: kotlin.String? = builder.targetEndpointArn

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

    override fun toString(): kotlin.String = buildString {
        append("ModifyReplicationConfigRequest(")
        append("computeConfig=$computeConfig,")
        append("replicationConfigArn=$replicationConfigArn,")
        append("replicationConfigIdentifier=$replicationConfigIdentifier,")
        append("replicationSettings=$replicationSettings,")
        append("replicationType=$replicationType,")
        append("sourceEndpointArn=$sourceEndpointArn,")
        append("supplementalSettings=$supplementalSettings,")
        append("tableMappings=$tableMappings,")
        append("targetEndpointArn=$targetEndpointArn")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = computeConfig?.hashCode() ?: 0
        result = 31 * result + (replicationConfigArn?.hashCode() ?: 0)
        result = 31 * result + (replicationConfigIdentifier?.hashCode() ?: 0)
        result = 31 * result + (replicationSettings?.hashCode() ?: 0)
        result = 31 * result + (replicationType?.hashCode() ?: 0)
        result = 31 * result + (sourceEndpointArn?.hashCode() ?: 0)
        result = 31 * result + (supplementalSettings?.hashCode() ?: 0)
        result = 31 * result + (tableMappings?.hashCode() ?: 0)
        result = 31 * result + (targetEndpointArn?.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 ModifyReplicationConfigRequest

        if (computeConfig != other.computeConfig) return false
        if (replicationConfigArn != other.replicationConfigArn) return false
        if (replicationConfigIdentifier != other.replicationConfigIdentifier) return false
        if (replicationSettings != other.replicationSettings) return false
        if (replicationType != other.replicationType) return false
        if (sourceEndpointArn != other.sourceEndpointArn) return false
        if (supplementalSettings != other.supplementalSettings) return false
        if (tableMappings != other.tableMappings) return false
        if (targetEndpointArn != other.targetEndpointArn) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * Configuration parameters for provisioning an DMS Serverless replication.
         */
        public var computeConfig: aws.sdk.kotlin.services.databasemigrationservice.model.ComputeConfig? = null
        /**
         * The Amazon Resource Name of the replication to modify.
         */
        public var replicationConfigArn: kotlin.String? = null
        /**
         * The new replication config to apply to the replication.
         */
        public var replicationConfigIdentifier: kotlin.String? = null
        /**
         * The settings for the replication.
         */
        public var replicationSettings: kotlin.String? = null
        /**
         * The type of replication.
         */
        public var replicationType: aws.sdk.kotlin.services.databasemigrationservice.model.MigrationTypeValue? = null
        /**
         * The Amazon Resource Name (ARN) of the source endpoint for this DMS serverless replication configuration.
         */
        public var sourceEndpointArn: kotlin.String? = null
        /**
         * Additional settings for the replication.
         */
        public var supplementalSettings: kotlin.String? = null
        /**
         * Table mappings specified in the replication.
         */
        public var tableMappings: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.
         */
        public var targetEndpointArn: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.databasemigrationservice.model.ModifyReplicationConfigRequest) : this() {
            this.computeConfig = x.computeConfig
            this.replicationConfigArn = x.replicationConfigArn
            this.replicationConfigIdentifier = x.replicationConfigIdentifier
            this.replicationSettings = x.replicationSettings
            this.replicationType = x.replicationType
            this.sourceEndpointArn = x.sourceEndpointArn
            this.supplementalSettings = x.supplementalSettings
            this.tableMappings = x.tableMappings
            this.targetEndpointArn = x.targetEndpointArn
        }

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy