
commonMain.aws.sdk.kotlin.services.s3control.model.EncryptionConfiguration.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.s3control.model
/**
* Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.
*
* This is not supported by Amazon S3 on Outposts buckets.
*/
public class EncryptionConfiguration private constructor(builder: Builder) {
/**
* Specifies the ID of the customer managed KMS key that's stored in Key Management Service (KMS) for the destination bucket. This ID is either the Amazon Resource Name (ARN) for the KMS key or the alias ARN for the KMS key. Amazon S3 uses this KMS key to encrypt replica objects. Amazon S3 supports only symmetric encryption KMS keys. For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Amazon Web Services Key Management Service Developer Guide*.
*/
public val replicaKmsKeyId: kotlin.String? = builder.replicaKmsKeyId
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.s3control.model.EncryptionConfiguration = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("EncryptionConfiguration(")
append("replicaKmsKeyId=$replicaKmsKeyId")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = replicaKmsKeyId?.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 EncryptionConfiguration
if (replicaKmsKeyId != other.replicaKmsKeyId) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.s3control.model.EncryptionConfiguration = Builder(this).apply(block).build()
public class Builder {
/**
* Specifies the ID of the customer managed KMS key that's stored in Key Management Service (KMS) for the destination bucket. This ID is either the Amazon Resource Name (ARN) for the KMS key or the alias ARN for the KMS key. Amazon S3 uses this KMS key to encrypt replica objects. Amazon S3 supports only symmetric encryption KMS keys. For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Amazon Web Services Key Management Service Developer Guide*.
*/
public var replicaKmsKeyId: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.s3control.model.EncryptionConfiguration) : this() {
this.replicaKmsKeyId = x.replicaKmsKeyId
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.s3control.model.EncryptionConfiguration = EncryptionConfiguration(this)
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy