/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace S3 { namespace Model { class AWS_S3_API ListMultipartUploadsResult { public: ListMultipartUploadsResult(); ListMultipartUploadsResult(const Aws::AmazonWebServiceResult& result); ListMultipartUploadsResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the bucket to which the multipart upload was initiated. Does not * return the access point ARN or access point alias if used.

*/ inline const Aws::String& GetBucket() const{ return m_bucket; } /** *

The name of the bucket to which the multipart upload was initiated. Does not * return the access point ARN or access point alias if used.

*/ inline void SetBucket(const Aws::String& value) { m_bucket = value; } /** *

The name of the bucket to which the multipart upload was initiated. Does not * return the access point ARN or access point alias if used.

*/ inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); } /** *

The name of the bucket to which the multipart upload was initiated. Does not * return the access point ARN or access point alias if used.

*/ inline void SetBucket(const char* value) { m_bucket.assign(value); } /** *

The name of the bucket to which the multipart upload was initiated. Does not * return the access point ARN or access point alias if used.

*/ inline ListMultipartUploadsResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} /** *

The name of the bucket to which the multipart upload was initiated. Does not * return the access point ARN or access point alias if used.

*/ inline ListMultipartUploadsResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} /** *

The name of the bucket to which the multipart upload was initiated. Does not * return the access point ARN or access point alias if used.

*/ inline ListMultipartUploadsResult& WithBucket(const char* value) { SetBucket(value); return *this;} /** *

The key at or after which the listing began.

*/ inline const Aws::String& GetKeyMarker() const{ return m_keyMarker; } /** *

The key at or after which the listing began.

*/ inline void SetKeyMarker(const Aws::String& value) { m_keyMarker = value; } /** *

The key at or after which the listing began.

*/ inline void SetKeyMarker(Aws::String&& value) { m_keyMarker = std::move(value); } /** *

The key at or after which the listing began.

*/ inline void SetKeyMarker(const char* value) { m_keyMarker.assign(value); } /** *

The key at or after which the listing began.

*/ inline ListMultipartUploadsResult& WithKeyMarker(const Aws::String& value) { SetKeyMarker(value); return *this;} /** *

The key at or after which the listing began.

*/ inline ListMultipartUploadsResult& WithKeyMarker(Aws::String&& value) { SetKeyMarker(std::move(value)); return *this;} /** *

The key at or after which the listing began.

*/ inline ListMultipartUploadsResult& WithKeyMarker(const char* value) { SetKeyMarker(value); return *this;} /** *

Upload ID after which listing began.

*/ inline const Aws::String& GetUploadIdMarker() const{ return m_uploadIdMarker; } /** *

Upload ID after which listing began.

*/ inline void SetUploadIdMarker(const Aws::String& value) { m_uploadIdMarker = value; } /** *

Upload ID after which listing began.

*/ inline void SetUploadIdMarker(Aws::String&& value) { m_uploadIdMarker = std::move(value); } /** *

Upload ID after which listing began.

*/ inline void SetUploadIdMarker(const char* value) { m_uploadIdMarker.assign(value); } /** *

Upload ID after which listing began.

*/ inline ListMultipartUploadsResult& WithUploadIdMarker(const Aws::String& value) { SetUploadIdMarker(value); return *this;} /** *

Upload ID after which listing began.

*/ inline ListMultipartUploadsResult& WithUploadIdMarker(Aws::String&& value) { SetUploadIdMarker(std::move(value)); return *this;} /** *

Upload ID after which listing began.

*/ inline ListMultipartUploadsResult& WithUploadIdMarker(const char* value) { SetUploadIdMarker(value); return *this;} /** *

When a list is truncated, this element specifies the value that should be * used for the key-marker request parameter in a subsequent request.

*/ inline const Aws::String& GetNextKeyMarker() const{ return m_nextKeyMarker; } /** *

When a list is truncated, this element specifies the value that should be * used for the key-marker request parameter in a subsequent request.

*/ inline void SetNextKeyMarker(const Aws::String& value) { m_nextKeyMarker = value; } /** *

When a list is truncated, this element specifies the value that should be * used for the key-marker request parameter in a subsequent request.

*/ inline void SetNextKeyMarker(Aws::String&& value) { m_nextKeyMarker = std::move(value); } /** *

When a list is truncated, this element specifies the value that should be * used for the key-marker request parameter in a subsequent request.

*/ inline void SetNextKeyMarker(const char* value) { m_nextKeyMarker.assign(value); } /** *

When a list is truncated, this element specifies the value that should be * used for the key-marker request parameter in a subsequent request.

*/ inline ListMultipartUploadsResult& WithNextKeyMarker(const Aws::String& value) { SetNextKeyMarker(value); return *this;} /** *

When a list is truncated, this element specifies the value that should be * used for the key-marker request parameter in a subsequent request.

*/ inline ListMultipartUploadsResult& WithNextKeyMarker(Aws::String&& value) { SetNextKeyMarker(std::move(value)); return *this;} /** *

When a list is truncated, this element specifies the value that should be * used for the key-marker request parameter in a subsequent request.

*/ inline ListMultipartUploadsResult& WithNextKeyMarker(const char* value) { SetNextKeyMarker(value); return *this;} /** *

When a prefix is provided in the request, this field contains the specified * prefix. The result contains only keys starting with the specified prefix.

*/ inline const Aws::String& GetPrefix() const{ return m_prefix; } /** *

When a prefix is provided in the request, this field contains the specified * prefix. The result contains only keys starting with the specified prefix.

*/ inline void SetPrefix(const Aws::String& value) { m_prefix = value; } /** *

When a prefix is provided in the request, this field contains the specified * prefix. The result contains only keys starting with the specified prefix.

*/ inline void SetPrefix(Aws::String&& value) { m_prefix = std::move(value); } /** *

When a prefix is provided in the request, this field contains the specified * prefix. The result contains only keys starting with the specified prefix.

*/ inline void SetPrefix(const char* value) { m_prefix.assign(value); } /** *

When a prefix is provided in the request, this field contains the specified * prefix. The result contains only keys starting with the specified prefix.

*/ inline ListMultipartUploadsResult& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} /** *

When a prefix is provided in the request, this field contains the specified * prefix. The result contains only keys starting with the specified prefix.

*/ inline ListMultipartUploadsResult& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} /** *

When a prefix is provided in the request, this field contains the specified * prefix. The result contains only keys starting with the specified prefix.

*/ inline ListMultipartUploadsResult& WithPrefix(const char* value) { SetPrefix(value); return *this;} /** *

Contains the delimiter you specified in the request. If you don't specify a * delimiter in your request, this element is absent from the response.

*/ inline const Aws::String& GetDelimiter() const{ return m_delimiter; } /** *

Contains the delimiter you specified in the request. If you don't specify a * delimiter in your request, this element is absent from the response.

*/ inline void SetDelimiter(const Aws::String& value) { m_delimiter = value; } /** *

Contains the delimiter you specified in the request. If you don't specify a * delimiter in your request, this element is absent from the response.

*/ inline void SetDelimiter(Aws::String&& value) { m_delimiter = std::move(value); } /** *

Contains the delimiter you specified in the request. If you don't specify a * delimiter in your request, this element is absent from the response.

*/ inline void SetDelimiter(const char* value) { m_delimiter.assign(value); } /** *

Contains the delimiter you specified in the request. If you don't specify a * delimiter in your request, this element is absent from the response.

*/ inline ListMultipartUploadsResult& WithDelimiter(const Aws::String& value) { SetDelimiter(value); return *this;} /** *

Contains the delimiter you specified in the request. If you don't specify a * delimiter in your request, this element is absent from the response.

*/ inline ListMultipartUploadsResult& WithDelimiter(Aws::String&& value) { SetDelimiter(std::move(value)); return *this;} /** *

Contains the delimiter you specified in the request. If you don't specify a * delimiter in your request, this element is absent from the response.

*/ inline ListMultipartUploadsResult& WithDelimiter(const char* value) { SetDelimiter(value); return *this;} /** *

When a list is truncated, this element specifies the value that should be * used for the upload-id-marker request parameter in a subsequent * request.

*/ inline const Aws::String& GetNextUploadIdMarker() const{ return m_nextUploadIdMarker; } /** *

When a list is truncated, this element specifies the value that should be * used for the upload-id-marker request parameter in a subsequent * request.

*/ inline void SetNextUploadIdMarker(const Aws::String& value) { m_nextUploadIdMarker = value; } /** *

When a list is truncated, this element specifies the value that should be * used for the upload-id-marker request parameter in a subsequent * request.

*/ inline void SetNextUploadIdMarker(Aws::String&& value) { m_nextUploadIdMarker = std::move(value); } /** *

When a list is truncated, this element specifies the value that should be * used for the upload-id-marker request parameter in a subsequent * request.

*/ inline void SetNextUploadIdMarker(const char* value) { m_nextUploadIdMarker.assign(value); } /** *

When a list is truncated, this element specifies the value that should be * used for the upload-id-marker request parameter in a subsequent * request.

*/ inline ListMultipartUploadsResult& WithNextUploadIdMarker(const Aws::String& value) { SetNextUploadIdMarker(value); return *this;} /** *

When a list is truncated, this element specifies the value that should be * used for the upload-id-marker request parameter in a subsequent * request.

*/ inline ListMultipartUploadsResult& WithNextUploadIdMarker(Aws::String&& value) { SetNextUploadIdMarker(std::move(value)); return *this;} /** *

When a list is truncated, this element specifies the value that should be * used for the upload-id-marker request parameter in a subsequent * request.

*/ inline ListMultipartUploadsResult& WithNextUploadIdMarker(const char* value) { SetNextUploadIdMarker(value); return *this;} /** *

Maximum number of multipart uploads that could have been included in the * response.

*/ inline int GetMaxUploads() const{ return m_maxUploads; } /** *

Maximum number of multipart uploads that could have been included in the * response.

*/ inline void SetMaxUploads(int value) { m_maxUploads = value; } /** *

Maximum number of multipart uploads that could have been included in the * response.

*/ inline ListMultipartUploadsResult& WithMaxUploads(int value) { SetMaxUploads(value); return *this;} /** *

Indicates whether the returned list of multipart uploads is truncated. A * value of true indicates that the list was truncated. The list can be truncated * if the number of multipart uploads exceeds the limit allowed or specified by max * uploads.

*/ inline bool GetIsTruncated() const{ return m_isTruncated; } /** *

Indicates whether the returned list of multipart uploads is truncated. A * value of true indicates that the list was truncated. The list can be truncated * if the number of multipart uploads exceeds the limit allowed or specified by max * uploads.

*/ inline void SetIsTruncated(bool value) { m_isTruncated = value; } /** *

Indicates whether the returned list of multipart uploads is truncated. A * value of true indicates that the list was truncated. The list can be truncated * if the number of multipart uploads exceeds the limit allowed or specified by max * uploads.

*/ inline ListMultipartUploadsResult& WithIsTruncated(bool value) { SetIsTruncated(value); return *this;} /** *

Container for elements related to a particular multipart upload. A response * can contain zero or more Upload elements.

*/ inline const Aws::Vector& GetUploads() const{ return m_uploads; } /** *

Container for elements related to a particular multipart upload. A response * can contain zero or more Upload elements.

*/ inline void SetUploads(const Aws::Vector& value) { m_uploads = value; } /** *

Container for elements related to a particular multipart upload. A response * can contain zero or more Upload elements.

*/ inline void SetUploads(Aws::Vector&& value) { m_uploads = std::move(value); } /** *

Container for elements related to a particular multipart upload. A response * can contain zero or more Upload elements.

*/ inline ListMultipartUploadsResult& WithUploads(const Aws::Vector& value) { SetUploads(value); return *this;} /** *

Container for elements related to a particular multipart upload. A response * can contain zero or more Upload elements.

*/ inline ListMultipartUploadsResult& WithUploads(Aws::Vector&& value) { SetUploads(std::move(value)); return *this;} /** *

Container for elements related to a particular multipart upload. A response * can contain zero or more Upload elements.

*/ inline ListMultipartUploadsResult& AddUploads(const MultipartUpload& value) { m_uploads.push_back(value); return *this; } /** *

Container for elements related to a particular multipart upload. A response * can contain zero or more Upload elements.

*/ inline ListMultipartUploadsResult& AddUploads(MultipartUpload&& value) { m_uploads.push_back(std::move(value)); return *this; } /** *

If you specify a delimiter in the request, then the result returns each * distinct key prefix containing the delimiter in a CommonPrefixes * element. The distinct key prefixes are returned in the Prefix child * element.

*/ inline const Aws::Vector& GetCommonPrefixes() const{ return m_commonPrefixes; } /** *

If you specify a delimiter in the request, then the result returns each * distinct key prefix containing the delimiter in a CommonPrefixes * element. The distinct key prefixes are returned in the Prefix child * element.

*/ inline void SetCommonPrefixes(const Aws::Vector& value) { m_commonPrefixes = value; } /** *

If you specify a delimiter in the request, then the result returns each * distinct key prefix containing the delimiter in a CommonPrefixes * element. The distinct key prefixes are returned in the Prefix child * element.

*/ inline void SetCommonPrefixes(Aws::Vector&& value) { m_commonPrefixes = std::move(value); } /** *

If you specify a delimiter in the request, then the result returns each * distinct key prefix containing the delimiter in a CommonPrefixes * element. The distinct key prefixes are returned in the Prefix child * element.

*/ inline ListMultipartUploadsResult& WithCommonPrefixes(const Aws::Vector& value) { SetCommonPrefixes(value); return *this;} /** *

If you specify a delimiter in the request, then the result returns each * distinct key prefix containing the delimiter in a CommonPrefixes * element. The distinct key prefixes are returned in the Prefix child * element.

*/ inline ListMultipartUploadsResult& WithCommonPrefixes(Aws::Vector&& value) { SetCommonPrefixes(std::move(value)); return *this;} /** *

If you specify a delimiter in the request, then the result returns each * distinct key prefix containing the delimiter in a CommonPrefixes * element. The distinct key prefixes are returned in the Prefix child * element.

*/ inline ListMultipartUploadsResult& AddCommonPrefixes(const CommonPrefix& value) { m_commonPrefixes.push_back(value); return *this; } /** *

If you specify a delimiter in the request, then the result returns each * distinct key prefix containing the delimiter in a CommonPrefixes * element. The distinct key prefixes are returned in the Prefix child * element.

*/ inline ListMultipartUploadsResult& AddCommonPrefixes(CommonPrefix&& value) { m_commonPrefixes.push_back(std::move(value)); return *this; } /** *

Encoding type used by Amazon S3 to encode object keys in the response.

*

If you specify encoding-type request parameter, Amazon S3 * includes this element in the response, and returns encoded key name values in * the following response elements:

Delimiter, * KeyMarker, Prefix, NextKeyMarker, * Key.

*/ inline const EncodingType& GetEncodingType() const{ return m_encodingType; } /** *

Encoding type used by Amazon S3 to encode object keys in the response.

*

If you specify encoding-type request parameter, Amazon S3 * includes this element in the response, and returns encoded key name values in * the following response elements:

Delimiter, * KeyMarker, Prefix, NextKeyMarker, * Key.

*/ inline void SetEncodingType(const EncodingType& value) { m_encodingType = value; } /** *

Encoding type used by Amazon S3 to encode object keys in the response.

*

If you specify encoding-type request parameter, Amazon S3 * includes this element in the response, and returns encoded key name values in * the following response elements:

Delimiter, * KeyMarker, Prefix, NextKeyMarker, * Key.

*/ inline void SetEncodingType(EncodingType&& value) { m_encodingType = std::move(value); } /** *

Encoding type used by Amazon S3 to encode object keys in the response.

*

If you specify encoding-type request parameter, Amazon S3 * includes this element in the response, and returns encoded key name values in * the following response elements:

Delimiter, * KeyMarker, Prefix, NextKeyMarker, * Key.

*/ inline ListMultipartUploadsResult& WithEncodingType(const EncodingType& value) { SetEncodingType(value); return *this;} /** *

Encoding type used by Amazon S3 to encode object keys in the response.

*

If you specify encoding-type request parameter, Amazon S3 * includes this element in the response, and returns encoded key name values in * the following response elements:

Delimiter, * KeyMarker, Prefix, NextKeyMarker, * Key.

*/ inline ListMultipartUploadsResult& WithEncodingType(EncodingType&& value) { SetEncodingType(std::move(value)); return *this;} private: Aws::String m_bucket; Aws::String m_keyMarker; Aws::String m_uploadIdMarker; Aws::String m_nextKeyMarker; Aws::String m_prefix; Aws::String m_delimiter; Aws::String m_nextUploadIdMarker; int m_maxUploads; bool m_isTruncated; Aws::Vector m_uploads; Aws::Vector m_commonPrefixes; EncodingType m_encodingType; }; } // namespace Model } // namespace S3 } // namespace Aws