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

commonMain.aws.sdk.kotlin.services.backup.model.RecoveryPointByResource.kt Maven / Gradle / Ivy

There is a newer version: 1.3.37
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.backup.model

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

/**
 * Contains detailed information about a saved recovery point.
 */
public class RecoveryPointByResource private constructor(builder: Builder) {
    /**
     * The size, in bytes, of a backup.
     */
    public val backupSizeBytes: kotlin.Long? = builder.backupSizeBytes
    /**
     * The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.
     */
    public val backupVaultName: kotlin.String? = builder.backupVaultName
    /**
     * The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of `CreationDate` is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     */
    public val creationDate: aws.smithy.kotlin.runtime.time.Instant? = builder.creationDate
    /**
     * The server-side encryption key that is used to protect your backups; for example, `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`.
     */
    public val encryptionKeyArn: kotlin.String? = builder.encryptionKeyArn
    /**
     * This is a boolean value indicating this is a parent (composite) recovery point.
     */
    public val isParent: kotlin.Boolean = builder.isParent
    /**
     * This is the Amazon Resource Name (ARN) of the parent (composite) recovery point.
     */
    public val parentRecoveryPointArn: kotlin.String? = builder.parentRecoveryPointArn
    /**
     * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
     */
    public val recoveryPointArn: kotlin.String? = builder.recoveryPointArn
    /**
     * This is the non-unique name of the resource that belongs to the specified backup.
     */
    public val resourceName: kotlin.String? = builder.resourceName
    /**
     * A status code specifying the state of the recovery point.
     */
    public val status: aws.sdk.kotlin.services.backup.model.RecoveryPointStatus? = builder.status
    /**
     * A message explaining the reason of the recovery point deletion failure.
     */
    public val statusMessage: kotlin.String? = builder.statusMessage
    /**
     * This is the type of vault in which the described recovery point is stored.
     */
    public val vaultType: aws.sdk.kotlin.services.backup.model.VaultType? = builder.vaultType

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

    override fun toString(): kotlin.String = buildString {
        append("RecoveryPointByResource(")
        append("backupSizeBytes=$backupSizeBytes,")
        append("backupVaultName=$backupVaultName,")
        append("creationDate=$creationDate,")
        append("encryptionKeyArn=$encryptionKeyArn,")
        append("isParent=$isParent,")
        append("parentRecoveryPointArn=$parentRecoveryPointArn,")
        append("recoveryPointArn=$recoveryPointArn,")
        append("resourceName=$resourceName,")
        append("status=$status,")
        append("statusMessage=$statusMessage,")
        append("vaultType=$vaultType")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = backupSizeBytes?.hashCode() ?: 0
        result = 31 * result + (backupVaultName?.hashCode() ?: 0)
        result = 31 * result + (creationDate?.hashCode() ?: 0)
        result = 31 * result + (encryptionKeyArn?.hashCode() ?: 0)
        result = 31 * result + (isParent.hashCode())
        result = 31 * result + (parentRecoveryPointArn?.hashCode() ?: 0)
        result = 31 * result + (recoveryPointArn?.hashCode() ?: 0)
        result = 31 * result + (resourceName?.hashCode() ?: 0)
        result = 31 * result + (status?.hashCode() ?: 0)
        result = 31 * result + (statusMessage?.hashCode() ?: 0)
        result = 31 * result + (vaultType?.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 RecoveryPointByResource

        if (backupSizeBytes != other.backupSizeBytes) return false
        if (backupVaultName != other.backupVaultName) return false
        if (creationDate != other.creationDate) return false
        if (encryptionKeyArn != other.encryptionKeyArn) return false
        if (isParent != other.isParent) return false
        if (parentRecoveryPointArn != other.parentRecoveryPointArn) return false
        if (recoveryPointArn != other.recoveryPointArn) return false
        if (resourceName != other.resourceName) return false
        if (status != other.status) return false
        if (statusMessage != other.statusMessage) return false
        if (vaultType != other.vaultType) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The size, in bytes, of a backup.
         */
        public var backupSizeBytes: kotlin.Long? = null
        /**
         * The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.
         */
        public var backupVaultName: kotlin.String? = null
        /**
         * The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of `CreationDate` is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
         */
        public var creationDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The server-side encryption key that is used to protect your backups; for example, `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`.
         */
        public var encryptionKeyArn: kotlin.String? = null
        /**
         * This is a boolean value indicating this is a parent (composite) recovery point.
         */
        public var isParent: kotlin.Boolean = false
        /**
         * This is the Amazon Resource Name (ARN) of the parent (composite) recovery point.
         */
        public var parentRecoveryPointArn: kotlin.String? = null
        /**
         * An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45`.
         */
        public var recoveryPointArn: kotlin.String? = null
        /**
         * This is the non-unique name of the resource that belongs to the specified backup.
         */
        public var resourceName: kotlin.String? = null
        /**
         * A status code specifying the state of the recovery point.
         */
        public var status: aws.sdk.kotlin.services.backup.model.RecoveryPointStatus? = null
        /**
         * A message explaining the reason of the recovery point deletion failure.
         */
        public var statusMessage: kotlin.String? = null
        /**
         * This is the type of vault in which the described recovery point is stored.
         */
        public var vaultType: aws.sdk.kotlin.services.backup.model.VaultType? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.backup.model.RecoveryPointByResource) : this() {
            this.backupSizeBytes = x.backupSizeBytes
            this.backupVaultName = x.backupVaultName
            this.creationDate = x.creationDate
            this.encryptionKeyArn = x.encryptionKeyArn
            this.isParent = x.isParent
            this.parentRecoveryPointArn = x.parentRecoveryPointArn
            this.recoveryPointArn = x.recoveryPointArn
            this.resourceName = x.resourceName
            this.status = x.status
            this.statusMessage = x.statusMessage
            this.vaultType = x.vaultType
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy