/*
* 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 ListObjects response and response metadata.
///
public class ListObjectsV2Response : AmazonWebServiceResponse
{
private bool? isTruncated;
private List contents = new List();
private string name;
private string prefix;
private string delimiter;
private int? maxKeys;
private List commonPrefixes = new List();
private EncodingType encoding;
private int? keyCount;
private string continuationToken;
private string nextContinuationToken;
private string startAfter;
///
/// A flag that indicates whether or not Amazon S3 returned all of the results that satisfied
/// the search criteria.
///
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 S3Objects property. Metadata about each object returned.
///
public List S3Objects
{
get { return this.contents; }
set { this.contents = value; }
}
// Check to see if Contents property is set
internal bool IsSetContents()
{
return this.contents.Count > 0;
}
///
/// Bucket name.
/// When using this API 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 operation using an access point through the AWS 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 Simple Storage Service Developer Guide.
///
public string Name
{
get { return this.name; }
set { this.name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this.name != null;
}
///
/// Gets and sets the Prefix property.
///
public string Prefix
{
get { return this.prefix; }
set { this.prefix = value; }
}
// Check to see if Prefix property is set
internal bool IsSetPrefix()
{
return this.prefix != null;
}
///
/// Gets and sets the MaxKeys property. This is max number of object keys returned by the list operation.
///
public int MaxKeys
{
get { return this.maxKeys ?? default(int); }
set { this.maxKeys = value; }
}
// Check to see if MaxKeys property is set
internal bool IsSetMaxKeys()
{
return this.maxKeys.HasValue;
}
///
/// Gets and sets the CommonPrefixes property.
/// CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence
/// of the string specified by delimiter
///
public List CommonPrefixes
{
get { return this.commonPrefixes; }
set { this.commonPrefixes = value; }
}
// Check to see if CommonPrefixes property is set
internal bool IsSetCommonPrefixes()
{
return this.commonPrefixes.Count > 0;
}
///
/// Gets and sets the Delimiter property.
/// Causes keys that contain the same string between the prefix and the
/// first occurrence of the delimiter to be rolled up into a single result
/// element in the CommonPrefixes collection.
///
///
/// These rolled-up keys are not returned elsewhere in the response.
///
public string Delimiter
{
get { return this.delimiter; }
set { this.delimiter = value; }
}
///
/// Encoding type used by Amazon S3 to encode object keys in the response.
///
public EncodingType Encoding
{
get { return this.encoding; }
set { this.encoding = value; }
}
// Check to see if DeleteMarker property is set
internal bool IsSetEncoding()
{
return this.encoding != null;
}
///
/// KeyCount is the number of keys returned with this request.
/// KeyCount will always be less than or equal to MaxKeys field.
///
public int KeyCount
{
get { return this.keyCount ?? default(int); }
set { this.keyCount = value; }
}
// Check to see if KeyCount property is set
internal bool IsSetKeyCount()
{
return this.keyCount.HasValue;
}
///
/// ContinuationToken indicates Amazon S3 that the list is being continued
/// on this bucket with a token.
/// ContinuationToken is obfuscated and is not a real key
///
public string ContinuationToken
{
get { return this.continuationToken; }
set { this.continuationToken = value; }
}
// Check to see if ContinuationToken property is set
internal bool IsSetContinuationToken()
{
return this.continuationToken != null;
}
///
/// NextContinuationToken is sent when isTruncated is true which means there
/// are more keys in the bucket that can be listed. The next ListObjectV2 call
/// to Amazon S3 can be continued with this NextContinuationToken.
/// NextContinuationToken is obfuscated and is not a real key.
///
public string NextContinuationToken
{
get { return this.nextContinuationToken; }
set { this.nextContinuationToken = value; }
}
// Check to see if NextContinuationToken property is set
internal bool IsSetNextContinuationToken()
{
return this.nextContinuationToken != null;
}
///
/// StartAfter is where you want Amazon S3 to start listing from.
/// Amazon S3 starts listing after this specified key.
/// StartAfter can be any key in the bucket.
///
public string StartAfter
{
get { return this.startAfter; }
set { this.startAfter = value; }
}
// Check to see if StartKey property is set
internal bool IsSetStartAfter()
{
return this.startAfter != null;
}
}
}