/** * 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 #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 ListPartsResult { public: ListPartsResult(); ListPartsResult(const Aws::AmazonWebServiceResult& result); ListPartsResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

If the bucket has a lifecycle rule configured with an action to abort * incomplete multipart uploads and the prefix in the lifecycle rule matches the * object name in the request, then the response includes this header indicating * when the initiated multipart upload will become eligible for abort operation. * For more information, see Aborting * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

The * response will also include the x-amz-abort-rule-id header that will * provide the ID of the lifecycle configuration rule that defines this action.

*/ inline const Aws::Utils::DateTime& GetAbortDate() const{ return m_abortDate; } /** *

If the bucket has a lifecycle rule configured with an action to abort * incomplete multipart uploads and the prefix in the lifecycle rule matches the * object name in the request, then the response includes this header indicating * when the initiated multipart upload will become eligible for abort operation. * For more information, see Aborting * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

The * response will also include the x-amz-abort-rule-id header that will * provide the ID of the lifecycle configuration rule that defines this action.

*/ inline void SetAbortDate(const Aws::Utils::DateTime& value) { m_abortDate = value; } /** *

If the bucket has a lifecycle rule configured with an action to abort * incomplete multipart uploads and the prefix in the lifecycle rule matches the * object name in the request, then the response includes this header indicating * when the initiated multipart upload will become eligible for abort operation. * For more information, see Aborting * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

The * response will also include the x-amz-abort-rule-id header that will * provide the ID of the lifecycle configuration rule that defines this action.

*/ inline void SetAbortDate(Aws::Utils::DateTime&& value) { m_abortDate = std::move(value); } /** *

If the bucket has a lifecycle rule configured with an action to abort * incomplete multipart uploads and the prefix in the lifecycle rule matches the * object name in the request, then the response includes this header indicating * when the initiated multipart upload will become eligible for abort operation. * For more information, see Aborting * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

The * response will also include the x-amz-abort-rule-id header that will * provide the ID of the lifecycle configuration rule that defines this action.

*/ inline ListPartsResult& WithAbortDate(const Aws::Utils::DateTime& value) { SetAbortDate(value); return *this;} /** *

If the bucket has a lifecycle rule configured with an action to abort * incomplete multipart uploads and the prefix in the lifecycle rule matches the * object name in the request, then the response includes this header indicating * when the initiated multipart upload will become eligible for abort operation. * For more information, see Aborting * Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

The * response will also include the x-amz-abort-rule-id header that will * provide the ID of the lifecycle configuration rule that defines this action.

*/ inline ListPartsResult& WithAbortDate(Aws::Utils::DateTime&& value) { SetAbortDate(std::move(value)); return *this;} /** *

This header is returned along with the x-amz-abort-date header. * It identifies applicable lifecycle configuration rule that defines the action to * abort incomplete multipart uploads.

*/ inline const Aws::String& GetAbortRuleId() const{ return m_abortRuleId; } /** *

This header is returned along with the x-amz-abort-date header. * It identifies applicable lifecycle configuration rule that defines the action to * abort incomplete multipart uploads.

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

This header is returned along with the x-amz-abort-date header. * It identifies applicable lifecycle configuration rule that defines the action to * abort incomplete multipart uploads.

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

This header is returned along with the x-amz-abort-date header. * It identifies applicable lifecycle configuration rule that defines the action to * abort incomplete multipart uploads.

*/ inline void SetAbortRuleId(const char* value) { m_abortRuleId.assign(value); } /** *

This header is returned along with the x-amz-abort-date header. * It identifies applicable lifecycle configuration rule that defines the action to * abort incomplete multipart uploads.

*/ inline ListPartsResult& WithAbortRuleId(const Aws::String& value) { SetAbortRuleId(value); return *this;} /** *

This header is returned along with the x-amz-abort-date header. * It identifies applicable lifecycle configuration rule that defines the action to * abort incomplete multipart uploads.

*/ inline ListPartsResult& WithAbortRuleId(Aws::String&& value) { SetAbortRuleId(std::move(value)); return *this;} /** *

This header is returned along with the x-amz-abort-date header. * It identifies applicable lifecycle configuration rule that defines the action to * abort incomplete multipart uploads.

*/ inline ListPartsResult& WithAbortRuleId(const char* value) { SetAbortRuleId(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 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 ListPartsResult& 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 ListPartsResult& 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 ListPartsResult& WithBucket(const char* value) { SetBucket(value); return *this;} /** *

Object key for which the multipart upload was initiated.

*/ inline const Aws::String& GetKey() const{ return m_key; } /** *

Object key for which the multipart upload was initiated.

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

Object key for which the multipart upload was initiated.

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

Object key for which the multipart upload was initiated.

*/ inline void SetKey(const char* value) { m_key.assign(value); } /** *

Object key for which the multipart upload was initiated.

*/ inline ListPartsResult& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** *

Object key for which the multipart upload was initiated.

*/ inline ListPartsResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** *

Object key for which the multipart upload was initiated.

*/ inline ListPartsResult& WithKey(const char* value) { SetKey(value); return *this;} /** *

Upload ID identifying the multipart upload whose parts are being listed.

*/ inline const Aws::String& GetUploadId() const{ return m_uploadId; } /** *

Upload ID identifying the multipart upload whose parts are being listed.

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

Upload ID identifying the multipart upload whose parts are being listed.

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

Upload ID identifying the multipart upload whose parts are being listed.

*/ inline void SetUploadId(const char* value) { m_uploadId.assign(value); } /** *

Upload ID identifying the multipart upload whose parts are being listed.

*/ inline ListPartsResult& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;} /** *

Upload ID identifying the multipart upload whose parts are being listed.

*/ inline ListPartsResult& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;} /** *

Upload ID identifying the multipart upload whose parts are being listed.

*/ inline ListPartsResult& WithUploadId(const char* value) { SetUploadId(value); return *this;} /** *

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.

*/ inline int GetPartNumberMarker() const{ return m_partNumberMarker; } /** *

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.

*/ inline void SetPartNumberMarker(int value) { m_partNumberMarker = value; } /** *

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.

*/ inline ListPartsResult& WithPartNumberMarker(int value) { SetPartNumberMarker(value); return *this;} /** *

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.

*/ inline int GetNextPartNumberMarker() const{ return m_nextPartNumberMarker; } /** *

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.

*/ inline void SetNextPartNumberMarker(int value) { m_nextPartNumberMarker = value; } /** *

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.

*/ inline ListPartsResult& WithNextPartNumberMarker(int value) { SetNextPartNumberMarker(value); return *this;} /** *

Maximum number of parts that were allowed in the response.

*/ inline int GetMaxParts() const{ return m_maxParts; } /** *

Maximum number of parts that were allowed in the response.

*/ inline void SetMaxParts(int value) { m_maxParts = value; } /** *

Maximum number of parts that were allowed in the response.

*/ inline ListPartsResult& WithMaxParts(int value) { SetMaxParts(value); return *this;} /** *

Indicates whether the returned list of parts is truncated. A true value * indicates that the list was truncated. A list can be truncated if the number of * parts exceeds the limit returned in the MaxParts element.

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

Indicates whether the returned list of parts is truncated. A true value * indicates that the list was truncated. A list can be truncated if the number of * parts exceeds the limit returned in the MaxParts element.

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

Indicates whether the returned list of parts is truncated. A true value * indicates that the list was truncated. A list can be truncated if the number of * parts exceeds the limit returned in the MaxParts element.

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

Container for elements related to a particular part. A response can contain * zero or more Part elements.

*/ inline const Aws::Vector& GetParts() const{ return m_parts; } /** *

Container for elements related to a particular part. A response can contain * zero or more Part elements.

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

Container for elements related to a particular part. A response can contain * zero or more Part elements.

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

Container for elements related to a particular part. A response can contain * zero or more Part elements.

*/ inline ListPartsResult& WithParts(const Aws::Vector& value) { SetParts(value); return *this;} /** *

Container for elements related to a particular part. A response can contain * zero or more Part elements.

*/ inline ListPartsResult& WithParts(Aws::Vector&& value) { SetParts(std::move(value)); return *this;} /** *

Container for elements related to a particular part. A response can contain * zero or more Part elements.

*/ inline ListPartsResult& AddParts(const Part& value) { m_parts.push_back(value); return *this; } /** *

Container for elements related to a particular part. A response can contain * zero or more Part elements.

*/ inline ListPartsResult& AddParts(Part&& value) { m_parts.push_back(std::move(value)); return *this; } /** *

Container element that identifies who initiated the multipart upload. If the * initiator is an Amazon Web Services account, this element provides the same * information as the Owner element. If the initiator is an IAM User, * this element provides the user ARN and display name.

*/ inline const Initiator& GetInitiator() const{ return m_initiator; } /** *

Container element that identifies who initiated the multipart upload. If the * initiator is an Amazon Web Services account, this element provides the same * information as the Owner element. If the initiator is an IAM User, * this element provides the user ARN and display name.

*/ inline void SetInitiator(const Initiator& value) { m_initiator = value; } /** *

Container element that identifies who initiated the multipart upload. If the * initiator is an Amazon Web Services account, this element provides the same * information as the Owner element. If the initiator is an IAM User, * this element provides the user ARN and display name.

*/ inline void SetInitiator(Initiator&& value) { m_initiator = std::move(value); } /** *

Container element that identifies who initiated the multipart upload. If the * initiator is an Amazon Web Services account, this element provides the same * information as the Owner element. If the initiator is an IAM User, * this element provides the user ARN and display name.

*/ inline ListPartsResult& WithInitiator(const Initiator& value) { SetInitiator(value); return *this;} /** *

Container element that identifies who initiated the multipart upload. If the * initiator is an Amazon Web Services account, this element provides the same * information as the Owner element. If the initiator is an IAM User, * this element provides the user ARN and display name.

*/ inline ListPartsResult& WithInitiator(Initiator&& value) { SetInitiator(std::move(value)); return *this;} /** *

Container element that identifies the object owner, after the object is * created. If multipart upload is initiated by an IAM user, this element provides * the parent account ID and display name.

*/ inline const Owner& GetOwner() const{ return m_owner; } /** *

Container element that identifies the object owner, after the object is * created. If multipart upload is initiated by an IAM user, this element provides * the parent account ID and display name.

*/ inline void SetOwner(const Owner& value) { m_owner = value; } /** *

Container element that identifies the object owner, after the object is * created. If multipart upload is initiated by an IAM user, this element provides * the parent account ID and display name.

*/ inline void SetOwner(Owner&& value) { m_owner = std::move(value); } /** *

Container element that identifies the object owner, after the object is * created. If multipart upload is initiated by an IAM user, this element provides * the parent account ID and display name.

*/ inline ListPartsResult& WithOwner(const Owner& value) { SetOwner(value); return *this;} /** *

Container element that identifies the object owner, after the object is * created. If multipart upload is initiated by an IAM user, this element provides * the parent account ID and display name.

*/ inline ListPartsResult& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;} /** *

Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded * object.

*/ inline const StorageClass& GetStorageClass() const{ return m_storageClass; } /** *

Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded * object.

*/ inline void SetStorageClass(const StorageClass& value) { m_storageClass = value; } /** *

Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded * object.

*/ inline void SetStorageClass(StorageClass&& value) { m_storageClass = std::move(value); } /** *

Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded * object.

*/ inline ListPartsResult& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;} /** *

Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded * object.

*/ inline ListPartsResult& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;} inline const RequestCharged& GetRequestCharged() const{ return m_requestCharged; } inline void SetRequestCharged(const RequestCharged& value) { m_requestCharged = value; } inline void SetRequestCharged(RequestCharged&& value) { m_requestCharged = std::move(value); } inline ListPartsResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;} inline ListPartsResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;} private: Aws::Utils::DateTime m_abortDate; Aws::String m_abortRuleId; Aws::String m_bucket; Aws::String m_key; Aws::String m_uploadId; int m_partNumberMarker; int m_nextPartNumberMarker; int m_maxParts; bool m_isTruncated; Aws::Vector m_parts; Initiator m_initiator; Owner m_owner; StorageClass m_storageClass; RequestCharged m_requestCharged; }; } // namespace Model } // namespace S3 } // namespace Aws