
commonMain.aws.sdk.kotlin.services.s3.model.CreateMultipartUploadResponse.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.s3.model
import aws.smithy.kotlin.runtime.time.Instant
public class CreateMultipartUploadResponse private constructor(builder: Builder) {
/**
* If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. For more information, see [ Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.
*
* The response also includes the `x-amz-abort-rule-id` header that provides the ID of the lifecycle configuration rule that defines the abort action.
*
* This functionality is not supported for directory buckets.
*/
public val abortDate: aws.smithy.kotlin.runtime.time.Instant? = builder.abortDate
/**
* This header is returned along with the `x-amz-abort-date` header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.
*
* This functionality is not supported for directory buckets.
*/
public val abortRuleId: kotlin.String? = builder.abortRuleId
/**
* The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.
*
* Access points are not supported by directory buckets.
*/
public val bucket: kotlin.String? = builder.bucket
/**
* Indicates whether the multipart upload 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
/**
* The algorithm that was used to create a checksum of the object.
*/
public val checksumAlgorithm: aws.sdk.kotlin.services.s3.model.ChecksumAlgorithm? = builder.checksumAlgorithm
/**
* Object key for which the multipart upload was initiated.
*/
public val key: kotlin.String? = builder.key
/**
* 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`).
*
* 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
/**
* ID for the initiated multipart upload.
*/
public val uploadId: kotlin.String? = builder.uploadId
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.s3.model.CreateMultipartUploadResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateMultipartUploadResponse(")
append("abortDate=$abortDate,")
append("abortRuleId=$abortRuleId,")
append("bucket=$bucket,")
append("bucketKeyEnabled=$bucketKeyEnabled,")
append("checksumAlgorithm=$checksumAlgorithm,")
append("key=$key,")
append("requestCharged=$requestCharged,")
append("serverSideEncryption=$serverSideEncryption,")
append("sseCustomerAlgorithm=$sseCustomerAlgorithm,")
append("sseCustomerKeyMd5=$sseCustomerKeyMd5,")
append("ssekmsEncryptionContext=*** Sensitive Data Redacted ***,")
append("ssekmsKeyId=*** Sensitive Data Redacted ***,")
append("uploadId=$uploadId")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = abortDate?.hashCode() ?: 0
result = 31 * result + (abortRuleId?.hashCode() ?: 0)
result = 31 * result + (bucket?.hashCode() ?: 0)
result = 31 * result + (bucketKeyEnabled?.hashCode() ?: 0)
result = 31 * result + (checksumAlgorithm?.hashCode() ?: 0)
result = 31 * result + (key?.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 + (uploadId?.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 CreateMultipartUploadResponse
if (abortDate != other.abortDate) return false
if (abortRuleId != other.abortRuleId) return false
if (bucket != other.bucket) return false
if (bucketKeyEnabled != other.bucketKeyEnabled) return false
if (checksumAlgorithm != other.checksumAlgorithm) return false
if (key != other.key) 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 (uploadId != other.uploadId) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.s3.model.CreateMultipartUploadResponse = Builder(this).apply(block).build()
public class Builder {
/**
* If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. For more information, see [ Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.
*
* The response also includes the `x-amz-abort-rule-id` header that provides the ID of the lifecycle configuration rule that defines the abort action.
*
* This functionality is not supported for directory buckets.
*/
public var abortDate: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* This header is returned along with the `x-amz-abort-date` header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.
*
* This functionality is not supported for directory buckets.
*/
public var abortRuleId: kotlin.String? = null
/**
* The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.
*
* Access points are not supported by directory buckets.
*/
public var bucket: kotlin.String? = null
/**
* Indicates whether the multipart upload 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
/**
* The algorithm that was used to create a checksum of the object.
*/
public var checksumAlgorithm: aws.sdk.kotlin.services.s3.model.ChecksumAlgorithm? = null
/**
* Object key for which the multipart upload was initiated.
*/
public var key: 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`).
*
* 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
/**
* ID for the initiated multipart upload.
*/
public var uploadId: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.s3.model.CreateMultipartUploadResponse) : this() {
this.abortDate = x.abortDate
this.abortRuleId = x.abortRuleId
this.bucket = x.bucket
this.bucketKeyEnabled = x.bucketKeyEnabled
this.checksumAlgorithm = x.checksumAlgorithm
this.key = x.key
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.uploadId = x.uploadId
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.s3.model.CreateMultipartUploadResponse = CreateMultipartUploadResponse(this)
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy