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

commonMain.aws.sdk.kotlin.services.dynamodb.model.RestoreTableFromBackupRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.dynamodb.model



public class RestoreTableFromBackupRequest private constructor(builder: Builder) {
    /**
     * The Amazon Resource Name (ARN) associated with the backup.
     */
    public val backupArn: kotlin.String? = builder.backupArn
    /**
     * The billing mode of the restored table.
     */
    public val billingModeOverride: aws.sdk.kotlin.services.dynamodb.model.BillingMode? = builder.billingModeOverride
    /**
     * List of global secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.
     */
    public val globalSecondaryIndexOverride: List? = builder.globalSecondaryIndexOverride
    /**
     * List of local secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.
     */
    public val localSecondaryIndexOverride: List? = builder.localSecondaryIndexOverride
    /**
     * Provisioned throughput settings for the restored table.
     */
    public val provisionedThroughputOverride: aws.sdk.kotlin.services.dynamodb.model.ProvisionedThroughput? = builder.provisionedThroughputOverride
    /**
     * The new server-side encryption settings for the restored table.
     */
    public val sseSpecificationOverride: aws.sdk.kotlin.services.dynamodb.model.SseSpecification? = builder.sseSpecificationOverride
    /**
     * The name of the new table to which the backup must be restored.
     */
    public val targetTableName: kotlin.String? = builder.targetTableName

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

    override fun toString(): kotlin.String = buildString {
        append("RestoreTableFromBackupRequest(")
        append("backupArn=$backupArn,")
        append("billingModeOverride=$billingModeOverride,")
        append("globalSecondaryIndexOverride=$globalSecondaryIndexOverride,")
        append("localSecondaryIndexOverride=$localSecondaryIndexOverride,")
        append("provisionedThroughputOverride=$provisionedThroughputOverride,")
        append("sseSpecificationOverride=$sseSpecificationOverride,")
        append("targetTableName=$targetTableName")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = backupArn?.hashCode() ?: 0
        result = 31 * result + (billingModeOverride?.hashCode() ?: 0)
        result = 31 * result + (globalSecondaryIndexOverride?.hashCode() ?: 0)
        result = 31 * result + (localSecondaryIndexOverride?.hashCode() ?: 0)
        result = 31 * result + (provisionedThroughputOverride?.hashCode() ?: 0)
        result = 31 * result + (sseSpecificationOverride?.hashCode() ?: 0)
        result = 31 * result + (targetTableName?.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 RestoreTableFromBackupRequest

        if (backupArn != other.backupArn) return false
        if (billingModeOverride != other.billingModeOverride) return false
        if (globalSecondaryIndexOverride != other.globalSecondaryIndexOverride) return false
        if (localSecondaryIndexOverride != other.localSecondaryIndexOverride) return false
        if (provisionedThroughputOverride != other.provisionedThroughputOverride) return false
        if (sseSpecificationOverride != other.sseSpecificationOverride) return false
        if (targetTableName != other.targetTableName) return false

        return true
    }

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

    public class Builder {
        /**
         * The Amazon Resource Name (ARN) associated with the backup.
         */
        public var backupArn: kotlin.String? = null
        /**
         * The billing mode of the restored table.
         */
        public var billingModeOverride: aws.sdk.kotlin.services.dynamodb.model.BillingMode? = null
        /**
         * List of global secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.
         */
        public var globalSecondaryIndexOverride: List? = null
        /**
         * List of local secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.
         */
        public var localSecondaryIndexOverride: List? = null
        /**
         * Provisioned throughput settings for the restored table.
         */
        public var provisionedThroughputOverride: aws.sdk.kotlin.services.dynamodb.model.ProvisionedThroughput? = null
        /**
         * The new server-side encryption settings for the restored table.
         */
        public var sseSpecificationOverride: aws.sdk.kotlin.services.dynamodb.model.SseSpecification? = null
        /**
         * The name of the new table to which the backup must be restored.
         */
        public var targetTableName: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.dynamodb.model.RestoreTableFromBackupRequest) : this() {
            this.backupArn = x.backupArn
            this.billingModeOverride = x.billingModeOverride
            this.globalSecondaryIndexOverride = x.globalSecondaryIndexOverride
            this.localSecondaryIndexOverride = x.localSecondaryIndexOverride
            this.provisionedThroughputOverride = x.provisionedThroughputOverride
            this.sseSpecificationOverride = x.sseSpecificationOverride
            this.targetTableName = x.targetTableName
        }

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

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

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy