/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.S3.Model { /// /// Returns information about the CompleteMultipartUpload response and response metadata. /// public class CompleteMultipartUploadResponse : AmazonWebServiceResponse { private string location; private string bucketName; private string _checksumCRC32; private string _checksumCRC32C; private string _checksumSHA1; private string _checksumSHA256; private string key; private string eTag; private string versionId; private Expiration expiration; private ServerSideEncryptionMethod serverSideEncryption; private string serverSideEncryptionKeyManagementServiceKeyId; private RequestCharged requestCharged; private bool? bucketKeyEnabled; /// /// Gets and sets the property BucketKeyEnabled. /// /// Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption /// with AWS KMS (SSE-KMS). /// /// public bool BucketKeyEnabled { get { return this.bucketKeyEnabled.GetValueOrDefault(); } set { this.bucketKeyEnabled = value; } } // Check to see if BucketKeyEnabled property is set internal bool IsSetBucketKeyEnabled() { return bucketKeyEnabled.HasValue; } /// /// Gets and sets the property BucketName. /// /// The name of the bucket that contains the newly created object. Does not return the /// access point ARN or access point alias if used. /// /// /// /// When using this action with an access point, you must direct requests to the access /// point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. /// When using this action with an access point through the Amazon Web Services SDKs, /// you provide the access point ARN in place of the bucket name. For more information /// about access point ARNs, see Using /// access points in the Amazon S3 User Guide. /// /// /// /// When you use this action with Amazon S3 on Outposts, you must direct requests to the /// S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. /// When you use this action with S3 on Outposts through the Amazon Web Services SDKs, /// you provide the Outposts access point ARN in place of the bucket name. For more information /// about S3 on Outposts ARNs, see What /// is S3 on Outposts? in the Amazon S3 User Guide. /// /// public string BucketName { get { return this.bucketName; } set { this.bucketName = value; } } // Check to see if BucketName property is set internal bool IsSetBucketName() { return this.bucketName != null; } /// /// Gets and sets the property ChecksumCRC32. /// /// The base64-encoded, 32-bit CRC32 checksum of the object. /// /// public string ChecksumCRC32 { get { return this._checksumCRC32; } set { this._checksumCRC32 = value; } } // Check to see if ChecksumCRC32 property is set internal bool IsSetChecksumCRC32() { return this._checksumCRC32 != null; } /// /// Gets and sets the property ChecksumCRC32C. /// /// The base64-encoded, 32-bit CRC32C checksum of the object. /// /// public string ChecksumCRC32C { get { return this._checksumCRC32C; } set { this._checksumCRC32C = value; } } // Check to see if ChecksumCRC32C property is set internal bool IsSetChecksumCRC32C() { return this._checksumCRC32C != null; } /// /// Gets and sets the property ChecksumSHA1. /// /// The base64-encoded, 160-bit SHA-1 digest of the object. /// /// public string ChecksumSHA1 { get { return this._checksumSHA1; } set { this._checksumSHA1 = value; } } // Check to see if ChecksumSHA1 property is set internal bool IsSetChecksumSHA1() { return this._checksumSHA1 != null; } /// /// Gets and sets the property ChecksumSHA256. /// /// The base64-encoded, 256-bit SHA-256 digest of the object. /// /// public string ChecksumSHA256 { get { return this._checksumSHA256; } set { this._checksumSHA256 = value; } } // Check to see if ChecksumSHA256 property is set internal bool IsSetChecksumSHA256() { return this._checksumSHA256 != null; } /// /// Gets and sets the property ETag. /// /// Entity tag that identifies the newly created object's data. Objects with different /// object data will have different entity tags. The entity tag is an opaque string. The /// entity tag may or may not be an MD5 digest of the object data. If the entity tag is /// not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters /// and/or will consist of less than 32 or more than 32 hexadecimal digits. /// /// public string ETag { get { return this.eTag; } set { this.eTag = value; } } // Check to see if ETag property is set internal bool IsSetETag() { return this.eTag != null; } /// /// Gets and sets the property Expiration. /// /// If the object expiration is configured, this will contain the expiration date (expiry-date) /// and rule ID (rule-id). The value of rule-id is URL encoded. /// /// public Expiration Expiration { get { return this.expiration; } set { this.expiration = value; } } /// /// Gets and sets the property Key. /// /// The object key of the newly created object. /// /// public string Key { get { return this.key; } set { this.key = value; } } // Check to see if Key property is set internal bool IsSetKey() { return this.key != null; } /// /// Gets and sets the property Location. /// /// The URI that identifies the newly created object. /// /// public string Location { get { return this.location; } set { this.location = value; } } // Check to see if Location property is set internal bool IsSetLocation() { return this.location != null; } /// /// If present, indicates that the requester was successfully charged for the request. /// public RequestCharged RequestCharged { get { return this.requestCharged; } set { this.requestCharged = value; } } /// /// Checks to see if RequestCharged is set. /// /// true, if RequestCharged property is set. internal bool IsSetRequestCharged() { return requestCharged != null; } /// /// /// The server-side encryption algorithm used when storing this object in Amazon S3 (for /// example, AES256, aws:kms). /// /// public ServerSideEncryptionMethod ServerSideEncryptionMethod { get { return this.serverSideEncryption; } set { this.serverSideEncryption = value; } } /// /// The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object. /// /// If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon /// Web Services KMS) symmetric encryption customer managed key that was used for the /// object. /// /// [AWSProperty(Sensitive=true)] public string ServerSideEncryptionKeyManagementServiceKeyId { get { return this.serverSideEncryptionKeyManagementServiceKeyId; } set { this.serverSideEncryptionKeyManagementServiceKeyId = value; } } /// /// Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set. /// /// true if ServerSideEncryptionKeyManagementServiceKeyId property is set. internal bool IsSetServerSideEncryptionKeyManagementServiceKeyId() { return !System.String.IsNullOrEmpty(this.serverSideEncryptionKeyManagementServiceKeyId); } /// /// Gets and sets the property VersionId. /// /// Version ID of the newly created object, in case the bucket has versioning turned on. /// /// public string VersionId { get { return this.versionId; } set { this.versionId = value; } } // Check to see if VersionId property is set internal bool IsSetVersionId() { return this.versionId != null; } } }