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

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

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

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



public class DisassociateRecoveryPointFromParentRequest private constructor(builder: Builder) {
    /**
     * This is the name of a logical container where the child (nested) recovery point is 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? = requireNotNull(builder.backupVaultName) { "A non-null value must be provided for backupVaultName" }
    /**
     * This is the Amazon Resource Name (ARN) that uniquely identifies the child (nested) recovery point; for example, `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.`
     */
    public val recoveryPointArn: kotlin.String? = requireNotNull(builder.recoveryPointArn) { "A non-null value must be provided for recoveryPointArn" }

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

    override fun toString(): kotlin.String = buildString {
        append("DisassociateRecoveryPointFromParentRequest(")
        append("backupVaultName=$backupVaultName,")
        append("recoveryPointArn=$recoveryPointArn")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = backupVaultName?.hashCode() ?: 0
        result = 31 * result + (recoveryPointArn?.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 DisassociateRecoveryPointFromParentRequest

        if (backupVaultName != other.backupVaultName) return false
        if (recoveryPointArn != other.recoveryPointArn) return false

        return true
    }

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

    public class Builder {
        /**
         * This is the name of a logical container where the child (nested) recovery point is 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
        /**
         * This is the Amazon Resource Name (ARN) that uniquely identifies the child (nested) recovery point; for example, `arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.`
         */
        public var recoveryPointArn: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.backup.model.DisassociateRecoveryPointFromParentRequest) : this() {
            this.backupVaultName = x.backupVaultName
            this.recoveryPointArn = x.recoveryPointArn
        }

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

        internal fun correctErrors(): Builder {
            if (backupVaultName == null) backupVaultName = ""
            if (recoveryPointArn == null) recoveryPointArn = ""
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy