/*
* 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 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 List commonPrefixes = new List();
private List contents = new List();
private string continuationToken;
private string delimiter;
private EncodingType encoding;
private bool? isTruncated;
private int? keyCount;
private int? maxKeys;
private string name;
private string nextContinuationToken;
private string prefix;
private RequestCharged _requestCharged;
private string startAfter;
///
/// Gets and sets the property CommonPrefixes.
///
/// All of the keys (up to 1,000) rolled up into a common prefix count as a single return
/// when calculating the number of returns.
///
///
///
/// A response can contain CommonPrefixes
only if you specify a delimiter.
///
///
///
/// CommonPrefixes
contains all (if there are any) keys between Prefix
/// and the next occurrence of the string specified by a delimiter.
///
///
///
/// CommonPrefixes
lists keys that act like subdirectories in the directory
/// specified by Prefix
.
///
///
///
/// For example, if the prefix is notes/
and the delimiter is a slash (/
)
/// as in notes/summer/july
, the common prefix is notes/summer/
.
/// All of the keys that roll up into a common prefix count as a single return when calculating
/// the number of returns.
///
///
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 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;
}
///
/// 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;
}
///
/// Gets and sets the property Delimiter.
///
/// 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. Each
/// rolled-up result counts as only one return against the MaxKeys
value.
///
///
public string Delimiter
{
get { return this.delimiter; }
set { this.delimiter = value; }
}
///
/// Encoding type used by Amazon S3 to encode object keys in the response.
///
/// Encoding type used by Amazon S3 to encode object key names in the XML response.
///
///
///
/// If you specify the encoding-type request parameter, Amazon S3 includes this element
/// in the response, and returns encoded key name values in the following response elements:
///
///
///
/// Delimiter, Prefix, Key,
and StartAfter
.
///
///
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;
}
///
/// Gets and sets the property IsTruncated.
///
/// Set to false if all of the results were returned. Set to true if more keys are available
/// to return. If the number of results exceeds that specified by MaxKeys, all of the
/// results might not be returned.
///
///
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 property KeyCount.
///
/// KeyCount is the number of keys returned with this request. KeyCount will always be
/// less than or equal to the MaxKeys
field. Say you ask for 50 keys, your
/// result will include 50 keys or fewer.
///
///
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;
}
///
/// Gets and sets the property MaxKeys.
///
/// Sets the maximum number of keys returned in the response. By default the action returns
/// up to 1,000 key names. The response might contain fewer keys but will never contain
/// more.
///
///
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 property Name.
///
/// The bucket name.
///
///
///
/// 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 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 property NextContinuationToken.
///
/// NextContinuationToken
is sent when isTruncated
is true,
/// which means there are more keys in the bucket that can be listed. The next list requests
/// 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;
}
///
/// Gets and sets the property Prefix.
///
/// Keys that begin with the indicated prefix.
///
///
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 property RequestCharged.
///
public RequestCharged RequestCharged
{
get { return this._requestCharged; }
set { this._requestCharged = value; }
}
// Check to see if RequestCharged property is set
internal bool IsSetRequestCharged()
{
return this._requestCharged != null;
}
///
/// Gets and sets the property StartAfter.
///
/// If StartAfter was sent with the request, it is included in the response.
///
///
public string StartAfter
{
get { return this.startAfter; }
set { this.startAfter = value; }
}
// Check to see if StartAfter property is set
internal bool IsSetStartAfter()
{
return this.startAfter != null;
}
}
}