
commonMain.aws.sdk.kotlin.services.s3.model.CopyObjectResponse.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.s3.model
public class CopyObjectResponse private constructor(builder: Builder) {
/**
* Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).
*
* This functionality is not supported for directory buckets.
*/
public val bucketKeyEnabled: kotlin.Boolean? = builder.bucketKeyEnabled
/**
* Container for all response elements.
*/
public val copyObjectResult: aws.sdk.kotlin.services.s3.model.CopyObjectResult? = builder.copyObjectResult
/**
* Version ID of the source object that was copied.
*
* This functionality is not supported when the source object is in a directory bucket.
*/
public val copySourceVersionId: kotlin.String? = builder.copySourceVersionId
/**
* If the object expiration is configured, the response includes this header.
*
* This functionality is not supported for directory buckets.
*/
public val expiration: kotlin.String? = builder.expiration
/**
* If present, indicates that the requester was successfully charged for the request.
*
* This functionality is not supported for directory buckets.
*/
public val requestCharged: aws.sdk.kotlin.services.s3.model.RequestCharged? = builder.requestCharged
/**
* The server-side encryption algorithm used when you store this object in Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
*
* For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is supported.
*/
public val serverSideEncryption: aws.sdk.kotlin.services.s3.model.ServerSideEncryption? = builder.serverSideEncryption
/**
* If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.
*
* This functionality is not supported for directory buckets.
*/
public val sseCustomerAlgorithm: kotlin.String? = builder.sseCustomerAlgorithm
/**
* If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.
*
* This functionality is not supported for directory buckets.
*/
public val sseCustomerKeyMd5: kotlin.String? = builder.sseCustomerKeyMd5
/**
* If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
*
* This functionality is not supported for directory buckets.
*/
public val ssekmsEncryptionContext: kotlin.String? = builder.ssekmsEncryptionContext
/**
* If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.
*
* This functionality is not supported for directory buckets.
*/
public val ssekmsKeyId: kotlin.String? = builder.ssekmsKeyId
/**
* Version ID of the newly created copy.
*
* This functionality is not supported for directory buckets.
*/
public val versionId: kotlin.String? = builder.versionId
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.s3.model.CopyObjectResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CopyObjectResponse(")
append("bucketKeyEnabled=$bucketKeyEnabled,")
append("copyObjectResult=$copyObjectResult,")
append("copySourceVersionId=$copySourceVersionId,")
append("expiration=$expiration,")
append("requestCharged=$requestCharged,")
append("serverSideEncryption=$serverSideEncryption,")
append("sseCustomerAlgorithm=$sseCustomerAlgorithm,")
append("sseCustomerKeyMd5=$sseCustomerKeyMd5,")
append("ssekmsEncryptionContext=*** Sensitive Data Redacted ***,")
append("ssekmsKeyId=*** Sensitive Data Redacted ***,")
append("versionId=$versionId")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = bucketKeyEnabled?.hashCode() ?: 0
result = 31 * result + (copyObjectResult?.hashCode() ?: 0)
result = 31 * result + (copySourceVersionId?.hashCode() ?: 0)
result = 31 * result + (expiration?.hashCode() ?: 0)
result = 31 * result + (requestCharged?.hashCode() ?: 0)
result = 31 * result + (serverSideEncryption?.hashCode() ?: 0)
result = 31 * result + (sseCustomerAlgorithm?.hashCode() ?: 0)
result = 31 * result + (sseCustomerKeyMd5?.hashCode() ?: 0)
result = 31 * result + (ssekmsEncryptionContext?.hashCode() ?: 0)
result = 31 * result + (ssekmsKeyId?.hashCode() ?: 0)
result = 31 * result + (versionId?.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 CopyObjectResponse
if (bucketKeyEnabled != other.bucketKeyEnabled) return false
if (copyObjectResult != other.copyObjectResult) return false
if (copySourceVersionId != other.copySourceVersionId) return false
if (expiration != other.expiration) return false
if (requestCharged != other.requestCharged) return false
if (serverSideEncryption != other.serverSideEncryption) return false
if (sseCustomerAlgorithm != other.sseCustomerAlgorithm) return false
if (sseCustomerKeyMd5 != other.sseCustomerKeyMd5) return false
if (ssekmsEncryptionContext != other.ssekmsEncryptionContext) return false
if (ssekmsKeyId != other.ssekmsKeyId) return false
if (versionId != other.versionId) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.s3.model.CopyObjectResponse = Builder(this).apply(block).build()
public class Builder {
/**
* Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).
*
* This functionality is not supported for directory buckets.
*/
public var bucketKeyEnabled: kotlin.Boolean? = null
/**
* Container for all response elements.
*/
public var copyObjectResult: aws.sdk.kotlin.services.s3.model.CopyObjectResult? = null
/**
* Version ID of the source object that was copied.
*
* This functionality is not supported when the source object is in a directory bucket.
*/
public var copySourceVersionId: kotlin.String? = null
/**
* If the object expiration is configured, the response includes this header.
*
* This functionality is not supported for directory buckets.
*/
public var expiration: kotlin.String? = null
/**
* If present, indicates that the requester was successfully charged for the request.
*
* This functionality is not supported for directory buckets.
*/
public var requestCharged: aws.sdk.kotlin.services.s3.model.RequestCharged? = null
/**
* The server-side encryption algorithm used when you store this object in Amazon S3 (for example, `AES256`, `aws:kms`, `aws:kms:dsse`).
*
* For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) is supported.
*/
public var serverSideEncryption: aws.sdk.kotlin.services.s3.model.ServerSideEncryption? = null
/**
* If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.
*
* This functionality is not supported for directory buckets.
*/
public var sseCustomerAlgorithm: kotlin.String? = null
/**
* If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.
*
* This functionality is not supported for directory buckets.
*/
public var sseCustomerKeyMd5: kotlin.String? = null
/**
* If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
*
* This functionality is not supported for directory buckets.
*/
public var ssekmsEncryptionContext: kotlin.String? = null
/**
* If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.
*
* This functionality is not supported for directory buckets.
*/
public var ssekmsKeyId: kotlin.String? = null
/**
* Version ID of the newly created copy.
*
* This functionality is not supported for directory buckets.
*/
public var versionId: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.s3.model.CopyObjectResponse) : this() {
this.bucketKeyEnabled = x.bucketKeyEnabled
this.copyObjectResult = x.copyObjectResult
this.copySourceVersionId = x.copySourceVersionId
this.expiration = x.expiration
this.requestCharged = x.requestCharged
this.serverSideEncryption = x.serverSideEncryption
this.sseCustomerAlgorithm = x.sseCustomerAlgorithm
this.sseCustomerKeyMd5 = x.sseCustomerKeyMd5
this.ssekmsEncryptionContext = x.ssekmsEncryptionContext
this.ssekmsKeyId = x.ssekmsKeyId
this.versionId = x.versionId
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.s3.model.CopyObjectResponse = CopyObjectResponse(this)
/**
* construct an [aws.sdk.kotlin.services.s3.model.CopyObjectResult] inside the given [block]
*/
public fun copyObjectResult(block: aws.sdk.kotlin.services.s3.model.CopyObjectResult.Builder.() -> kotlin.Unit) {
this.copyObjectResult = aws.sdk.kotlin.services.s3.model.CopyObjectResult.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy