/*
* 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 Amazon.Runtime;
namespace Amazon.S3.Model
{
///
/// Returns information about the ListParts response and response metadata.
///
public class ListPartsResponse : AmazonWebServiceResponse
{
private string bucketName;
private string key;
private string uploadId;
private Owner owner;
private Initiator initiator;
private S3StorageClass storageClass;
private int? partNumberMarker;
private int? nextPartNumberMarker;
private int? maxParts;
private bool? isTruncated;
private List parts = new List();
private DateTime? abortDate;
private string abortRuleId;
private RequestCharged requestCharged;
///
/// Name of the bucketName to which the multipart upload was initiated.
///
///
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;
}
///
/// Object key for which the multipart upload was initiated.
///
///
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;
}
///
/// Upload ID identifying the multipart upload whose parts are being listed.
///
///
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;
}
///
/// Part number after which listing begins.
///
///
public int PartNumberMarker
{
get { return this.partNumberMarker ?? default(int); }
set { this.partNumberMarker = value; }
}
// Check to see if PartNumberMarker property is set
internal bool IsSetPartNumberMarker()
{
return this.partNumberMarker.HasValue;
}
///
/// When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request
/// parameter in a subsequent request.
///
///
public int NextPartNumberMarker
{
get { return this.nextPartNumberMarker ?? default(int); }
set { this.nextPartNumberMarker = value; }
}
// Check to see if NextPartNumberMarker property is set
internal bool IsSetNextPartNumberMarker()
{
return this.nextPartNumberMarker.HasValue;
}
///
/// Maximum number of parts that were allowed in the response.
///
///
public int MaxParts
{
get { return this.maxParts ?? default(int); }
set { this.maxParts = value; }
}
// Check to see if MaxParts property is set
internal bool IsSetMaxParts()
{
return this.maxParts.HasValue;
}
///
/// Indicates whether the returned list of parts is truncated.
///
///
public bool IsTruncated
{
get { return this.isTruncated ?? default(bool); }
set { this.isTruncated = value; }
}
// Check to see if IsTruncated property is set
internal bool IsSetIsTruncated()
{
return this.isTruncated.HasValue;
}
///
/// Gets and sets the Parts property.
///
/// PartDetails is a container for elements related to a particular part. A response can contain
/// zero or more Part elements.
///
///
public List Parts
{
get { return this.parts; }
set { this.parts = value; }
}
// Check to see if Parts property is set
internal bool IsSetParts()
{
return this.parts.Count > 0;
}
///
/// Identifies who initiated the multipart upload.
///
///
public Initiator Initiator
{
get { return this.initiator; }
set { this.initiator = value; }
}
// Check to see if Initiator property is set
internal bool IsSetInitiator()
{
return this.initiator != null;
}
///
/// Gets and sets the Owner property.
///
public Owner Owner
{
get { return this.owner; }
set { this.owner = value; }
}
// Check to see if Owner property is set
internal bool IsSetOwner()
{
return this.owner != null;
}
///
/// The class of storage used to store the object.
///
///
public string StorageClass
{
get { return this.storageClass; }
set { this.storageClass = value; }
}
// Check to see if StorageClass property is set
internal bool IsSetStorageClass()
{
return this.storageClass != null;
}
///
/// Date when multipart upload will become eligible for abort operation by lifecycle.
///
public DateTime AbortDate
{
get { return this.abortDate.GetValueOrDefault(); }
set { this.abortDate = value; }
}
// Check to see if AbortDate property is set
internal bool IsSetAbortDate()
{
return this.abortDate.HasValue;
}
///
/// Id of the lifecycle rule that makes a multipart upload eligible for abort operation.
///
public string AbortRuleId
{
get { return this.abortRuleId; }
set { this.abortRuleId = value; }
}
// Check to see if AbortRuleId property is set
internal bool IsSetAbortRuleId()
{
return this.abortRuleId != 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;
}
}
}