/*
* 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;
}
}
}