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

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

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

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

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

/**
 * Contains details for the backup.
 */
public class BackupSummary private constructor(builder: Builder) {
    /**
     * ARN associated with the backup.
     */
    public val backupArn: kotlin.String? = builder.backupArn
    /**
     * Time at which the backup was created.
     */
    public val backupCreationDateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.backupCreationDateTime
    /**
     * Time at which the automatic on-demand backup created by DynamoDB will expire. This `SYSTEM` on-demand backup expires automatically 35 days after its creation.
     */
    public val backupExpiryDateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.backupExpiryDateTime
    /**
     * Name of the specified backup.
     */
    public val backupName: kotlin.String? = builder.backupName
    /**
     * Size of the backup in bytes.
     */
    public val backupSizeBytes: kotlin.Long? = builder.backupSizeBytes
    /**
     * Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
     */
    public val backupStatus: aws.sdk.kotlin.services.dynamodb.model.BackupStatus? = builder.backupStatus
    /**
     * BackupType:
     * + `USER` - You create and manage these using the on-demand backup feature.
     * + `SYSTEM` - If you delete a table with point-in-time recovery enabled, a `SYSTEM` backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.
     * + `AWS_BACKUP` - On-demand backup created by you from Backup service.
     */
    public val backupType: aws.sdk.kotlin.services.dynamodb.model.BackupType? = builder.backupType
    /**
     * ARN associated with the table.
     */
    public val tableArn: kotlin.String? = builder.tableArn
    /**
     * Unique identifier for the table.
     */
    public val tableId: kotlin.String? = builder.tableId
    /**
     * Name of the table.
     */
    public val tableName: kotlin.String? = builder.tableName

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

    override fun toString(): kotlin.String = buildString {
        append("BackupSummary(")
        append("backupArn=$backupArn,")
        append("backupCreationDateTime=$backupCreationDateTime,")
        append("backupExpiryDateTime=$backupExpiryDateTime,")
        append("backupName=$backupName,")
        append("backupSizeBytes=$backupSizeBytes,")
        append("backupStatus=$backupStatus,")
        append("backupType=$backupType,")
        append("tableArn=$tableArn,")
        append("tableId=$tableId,")
        append("tableName=$tableName")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = backupArn?.hashCode() ?: 0
        result = 31 * result + (backupCreationDateTime?.hashCode() ?: 0)
        result = 31 * result + (backupExpiryDateTime?.hashCode() ?: 0)
        result = 31 * result + (backupName?.hashCode() ?: 0)
        result = 31 * result + (backupSizeBytes?.hashCode() ?: 0)
        result = 31 * result + (backupStatus?.hashCode() ?: 0)
        result = 31 * result + (backupType?.hashCode() ?: 0)
        result = 31 * result + (tableArn?.hashCode() ?: 0)
        result = 31 * result + (tableId?.hashCode() ?: 0)
        result = 31 * result + (tableName?.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 BackupSummary

        if (backupArn != other.backupArn) return false
        if (backupCreationDateTime != other.backupCreationDateTime) return false
        if (backupExpiryDateTime != other.backupExpiryDateTime) return false
        if (backupName != other.backupName) return false
        if (backupSizeBytes != other.backupSizeBytes) return false
        if (backupStatus != other.backupStatus) return false
        if (backupType != other.backupType) return false
        if (tableArn != other.tableArn) return false
        if (tableId != other.tableId) return false
        if (tableName != other.tableName) return false

        return true
    }

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

    public class Builder {
        /**
         * ARN associated with the backup.
         */
        public var backupArn: kotlin.String? = null
        /**
         * Time at which the backup was created.
         */
        public var backupCreationDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Time at which the automatic on-demand backup created by DynamoDB will expire. This `SYSTEM` on-demand backup expires automatically 35 days after its creation.
         */
        public var backupExpiryDateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * Name of the specified backup.
         */
        public var backupName: kotlin.String? = null
        /**
         * Size of the backup in bytes.
         */
        public var backupSizeBytes: kotlin.Long? = null
        /**
         * Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
         */
        public var backupStatus: aws.sdk.kotlin.services.dynamodb.model.BackupStatus? = null
        /**
         * BackupType:
         * + `USER` - You create and manage these using the on-demand backup feature.
         * + `SYSTEM` - If you delete a table with point-in-time recovery enabled, a `SYSTEM` backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.
         * + `AWS_BACKUP` - On-demand backup created by you from Backup service.
         */
        public var backupType: aws.sdk.kotlin.services.dynamodb.model.BackupType? = null
        /**
         * ARN associated with the table.
         */
        public var tableArn: kotlin.String? = null
        /**
         * Unique identifier for the table.
         */
        public var tableId: kotlin.String? = null
        /**
         * Name of the table.
         */
        public var tableName: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.dynamodb.model.BackupSummary) : this() {
            this.backupArn = x.backupArn
            this.backupCreationDateTime = x.backupCreationDateTime
            this.backupExpiryDateTime = x.backupExpiryDateTime
            this.backupName = x.backupName
            this.backupSizeBytes = x.backupSizeBytes
            this.backupStatus = x.backupStatus
            this.backupType = x.backupType
            this.tableArn = x.tableArn
            this.tableId = x.tableId
            this.tableName = x.tableName
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy