commonMain.aws.sdk.kotlin.services.backup.model.CreateBackupVaultRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.backup.model
import aws.smithy.kotlin.runtime.SdkDsl
public class CreateBackupVaultRequest private constructor(builder: Builder) {
/**
* 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 letters, numbers, and hyphens.
*/
public val backupVaultName: kotlin.String? = builder.backupVaultName
/**
* Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.
*/
public val backupVaultTags: Map? = builder.backupVaultTags
/**
* A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.
*
* If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.
*/
public val creatorRequestId: kotlin.String? = builder.creatorRequestId
/**
* 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
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.backup.model.CreateBackupVaultRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateBackupVaultRequest(")
append("backupVaultName=$backupVaultName,")
append("backupVaultTags=*** Sensitive Data Redacted ***,")
append("creatorRequestId=$creatorRequestId,")
append("encryptionKeyArn=$encryptionKeyArn")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = backupVaultName?.hashCode() ?: 0
result = 31 * result + (backupVaultTags?.hashCode() ?: 0)
result = 31 * result + (creatorRequestId?.hashCode() ?: 0)
result = 31 * result + (encryptionKeyArn?.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 CreateBackupVaultRequest
if (backupVaultName != other.backupVaultName) return false
if (backupVaultTags != other.backupVaultTags) return false
if (creatorRequestId != other.creatorRequestId) return false
if (encryptionKeyArn != other.encryptionKeyArn) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.backup.model.CreateBackupVaultRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* 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 letters, numbers, and hyphens.
*/
public var backupVaultName: kotlin.String? = null
/**
* Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.
*/
public var backupVaultTags: Map? = null
/**
* A unique string that identifies the request and allows failed requests to be retried without the risk of running the operation twice. This parameter is optional.
*
* If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.
*/
public var creatorRequestId: kotlin.String? = 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
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.backup.model.CreateBackupVaultRequest) : this() {
this.backupVaultName = x.backupVaultName
this.backupVaultTags = x.backupVaultTags
this.creatorRequestId = x.creatorRequestId
this.encryptionKeyArn = x.encryptionKeyArn
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.backup.model.CreateBackupVaultRequest = CreateBackupVaultRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}