/* * Copyright 2010-2013 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 System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.S3.Model { /// /// Container for the parameters to the CompleteMultipartUpload operation. /// Completes a multipart upload by assembling previously uploaded parts. /// public partial class CompleteMultipartUploadRequest : AmazonWebServiceRequest { private string bucketName; private string key; private List partETags = new List(); private string uploadId; private RequestPayer requestPayer; /// /// The name of the bucketName containing the S3 object that was being uploaded in parts. /// 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; } /// /// The key of the S3 object that was being uploaded. /// 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; } /// /// A collection of part numbers and corresponding etags. /// public List PartETags { get { if (this.partETags == null) { this.partETags = new List(); } return this.partETags; } set { this.partETags = value; } } /// /// Adds a collection of part numbers and corresponding etags. /// /// PartETags that will added to this request. public void AddPartETags(params PartETag[] partETags) { foreach (PartETag part in partETags) { this.PartETags.Add(part); } } /// /// Adds a collection of part numbers and corresponding etags. /// /// PartETags that will added to this request. public void AddPartETags(IEnumerable partETags) { foreach (PartETag part in partETags) { this.PartETags.Add(part); } } /// /// Adds a collection of part numbers and corresponding etags by transforming the UploadPartResponses into PartETags. /// /// The list of response objects return from UploadParts. public void AddPartETags(params UploadPartResponse[] responses) { foreach (UploadPartResponse response in responses) { this.PartETags.Add(new PartETag(response.PartNumber, response.ETag)); } } /// /// Adds a collection of part numbers and corresponding etags by transforming the UploadPartResponses into PartETags. /// /// The list of response objects return from UploadParts. public void AddPartETags(IEnumerable responses) { foreach (UploadPartResponse response in responses) { this.PartETags.Add(new PartETag(response.PartNumber, response.ETag)); } } /// /// Adds a collection of part numbers and corresponding etags by transforming the CopyPartResponse into PartETags. /// /// The list of response objects return from CopyParts. public void AddPartETags(params CopyPartResponse[] responses) { foreach (CopyPartResponse response in responses) { this.PartETags.Add(new PartETag(response.PartNumber, response.ETag)); } } /// /// Adds a collection of part numbers and corresponding etags by transforming the CopyPartResponse into PartETags. /// /// The list of response objects return from CopyParts. public void AddPartETags(IEnumerable responses) { foreach (CopyPartResponse response in responses) { this.PartETags.Add(new PartETag(response.PartNumber, response.ETag)); } } /// /// The upload id for the in-progress multipart upload that should be completed. /// public string UploadId { get { return this.uploadId; } set { this.uploadId = value; } } // Check to see if UploadId property is set internal bool IsSetUploadId() { return this.uploadId != null; } /// /// Confirms that the requester knows that she or he will be charged for the list objects request. /// Bucket owners need not specify this parameter in their requests. /// public RequestPayer RequestPayer { get { return this.requestPayer; } set { this.requestPayer = value; } } /// /// Checks to see if RequetsPayer is set. /// /// true, if RequestPayer property is set. internal bool IsSetRequestPayer() { return requestPayer != null; } } }