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