Lesson 35 - Get Compute Auth Token Working

This commit is contained in:
Norman Lansing
2026-02-28 12:32:28 -05:00
parent 1d477ee42a
commit 4fde462bce
7743 changed files with 1397833 additions and 18 deletions

View File

@@ -0,0 +1,61 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies the days since the initiation of an incomplete multipart upload
* that Amazon S3 will wait before permanently removing all parts of the upload.
* For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">
* Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>
* in the <i>Amazon S3 User Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortIncompleteMultipartUpload">AWS
* API Reference</a></p>
*/
class AbortIncompleteMultipartUpload
{
public:
AWS_S3_API AbortIncompleteMultipartUpload();
AWS_S3_API AbortIncompleteMultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AbortIncompleteMultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Specifies the number of days after which Amazon S3 aborts an incomplete
* multipart upload.</p>
*/
inline int GetDaysAfterInitiation() const{ return m_daysAfterInitiation; }
inline bool DaysAfterInitiationHasBeenSet() const { return m_daysAfterInitiationHasBeenSet; }
inline void SetDaysAfterInitiation(int value) { m_daysAfterInitiationHasBeenSet = true; m_daysAfterInitiation = value; }
inline AbortIncompleteMultipartUpload& WithDaysAfterInitiation(int value) { SetDaysAfterInitiation(value); return *this;}
///@}
private:
int m_daysAfterInitiation;
bool m_daysAfterInitiationHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,187 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/RequestPayer.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class AbortMultipartUploadRequest : public S3Request
{
public:
AWS_S3_API AbortMultipartUploadRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "AbortMultipartUpload"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket name to which the upload was taking place. </p> <p> <b>Directory
* buckets</b> - When you use this operation with a directory bucket, you must use
* virtual-hosted-style requests in the format <code>
* <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>.
* Path-style requests are not supported. Directory bucket names must be unique in
* the chosen Availability Zone. Bucket names must follow the format <code>
* <i>bucket_base_name</i>--<i>az-id</i>--x-s3</code> (for example, <code>
* <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about
* bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access
* points</b> - When you use this action with an access point, you must provide the
* alias of the access point in place of the bucket name or specify the access
* point ARN. When using the access point ARN, you must direct requests to the
* access point hostname. The access point hostname takes the form
* <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
* access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Access
* points and Object Lambda access points are not supported by directory
* buckets.</p> <p> <b>S3 on Outposts</b> - 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 <code>
* <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>.
* 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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What
* is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline AbortMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline AbortMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline AbortMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>Key of the object for which the multipart upload was initiated.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline AbortMultipartUploadRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline AbortMultipartUploadRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline AbortMultipartUploadRequest& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>Upload ID that identifies the multipart upload.</p>
*/
inline const Aws::String& GetUploadId() const{ return m_uploadId; }
inline bool UploadIdHasBeenSet() const { return m_uploadIdHasBeenSet; }
inline void SetUploadId(const Aws::String& value) { m_uploadIdHasBeenSet = true; m_uploadId = value; }
inline void SetUploadId(Aws::String&& value) { m_uploadIdHasBeenSet = true; m_uploadId = std::move(value); }
inline void SetUploadId(const char* value) { m_uploadIdHasBeenSet = true; m_uploadId.assign(value); }
inline AbortMultipartUploadRequest& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;}
inline AbortMultipartUploadRequest& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;}
inline AbortMultipartUploadRequest& WithUploadId(const char* value) { SetUploadId(value); return *this;}
///@}
///@{
inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; }
inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; }
inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); }
inline AbortMultipartUploadRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;}
inline AbortMultipartUploadRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline AbortMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline AbortMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline AbortMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline AbortMultipartUploadRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline AbortMultipartUploadRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline AbortMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_key;
bool m_keyHasBeenSet = false;
Aws::String m_uploadId;
bool m_uploadIdHasBeenSet = false;
RequestPayer m_requestPayer;
bool m_requestPayerHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,64 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/RequestCharged.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class AbortMultipartUploadResult
{
public:
AWS_S3_API AbortMultipartUploadResult();
AWS_S3_API AbortMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API AbortMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
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 AbortMultipartUploadResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;}
inline AbortMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline AbortMultipartUploadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline AbortMultipartUploadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline AbortMultipartUploadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
RequestCharged m_requestCharged;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,63 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/BucketAccelerateStatus.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Configures the transfer acceleration state for an Amazon S3 bucket. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Amazon
* S3 Transfer Acceleration</a> in the <i>Amazon S3 User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccelerateConfiguration">AWS
* API Reference</a></p>
*/
class AccelerateConfiguration
{
public:
AWS_S3_API AccelerateConfiguration();
AWS_S3_API AccelerateConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AccelerateConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Specifies the transfer acceleration status of the bucket.</p>
*/
inline const BucketAccelerateStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const BucketAccelerateStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(BucketAccelerateStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline AccelerateConfiguration& WithStatus(const BucketAccelerateStatus& value) { SetStatus(value); return *this;}
inline AccelerateConfiguration& WithStatus(BucketAccelerateStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
private:
BucketAccelerateStatus m_status;
bool m_statusHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,79 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/s3/model/Owner.h>
#include <aws/s3/model/Grant.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Contains the elements that set the ACL permissions for an object per
* grantee.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlPolicy">AWS
* API Reference</a></p>
*/
class AccessControlPolicy
{
public:
AWS_S3_API AccessControlPolicy();
AWS_S3_API AccessControlPolicy(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AccessControlPolicy& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>A list of grants.</p>
*/
inline const Aws::Vector<Grant>& GetGrants() const{ return m_grants; }
inline bool GrantsHasBeenSet() const { return m_grantsHasBeenSet; }
inline void SetGrants(const Aws::Vector<Grant>& value) { m_grantsHasBeenSet = true; m_grants = value; }
inline void SetGrants(Aws::Vector<Grant>&& value) { m_grantsHasBeenSet = true; m_grants = std::move(value); }
inline AccessControlPolicy& WithGrants(const Aws::Vector<Grant>& value) { SetGrants(value); return *this;}
inline AccessControlPolicy& WithGrants(Aws::Vector<Grant>&& value) { SetGrants(std::move(value)); return *this;}
inline AccessControlPolicy& AddGrants(const Grant& value) { m_grantsHasBeenSet = true; m_grants.push_back(value); return *this; }
inline AccessControlPolicy& AddGrants(Grant&& value) { m_grantsHasBeenSet = true; m_grants.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Container for the bucket owner's display name and ID.</p>
*/
inline const Owner& GetOwner() const{ return m_owner; }
inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
inline void SetOwner(const Owner& value) { m_ownerHasBeenSet = true; m_owner = value; }
inline void SetOwner(Owner&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); }
inline AccessControlPolicy& WithOwner(const Owner& value) { SetOwner(value); return *this;}
inline AccessControlPolicy& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;}
///@}
private:
Aws::Vector<Grant> m_grants;
bool m_grantsHasBeenSet = false;
Owner m_owner;
bool m_ownerHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,62 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/OwnerOverride.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>A container for information about access control for replicas.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlTranslation">AWS
* API Reference</a></p>
*/
class AccessControlTranslation
{
public:
AWS_S3_API AccessControlTranslation();
AWS_S3_API AccessControlTranslation(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AccessControlTranslation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Specifies the replica ownership. For default and valid values, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT
* bucket replication</a> in the <i>Amazon S3 API Reference</i>.</p>
*/
inline const OwnerOverride& GetOwner() const{ return m_owner; }
inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
inline void SetOwner(const OwnerOverride& value) { m_ownerHasBeenSet = true; m_owner = value; }
inline void SetOwner(OwnerOverride&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); }
inline AccessControlTranslation& WithOwner(const OwnerOverride& value) { SetOwner(value); return *this;}
inline AccessControlTranslation& WithOwner(OwnerOverride&& value) { SetOwner(std::move(value)); return *this;}
///@}
private:
OwnerOverride m_owner;
bool m_ownerHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,84 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/s3/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>A conjunction (logical AND) of predicates, which is used in evaluating a
* metrics filter. The operator must have at least two predicates in any
* combination, and an object must match all of the predicates for the filter to
* apply.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsAndOperator">AWS
* API Reference</a></p>
*/
class AnalyticsAndOperator
{
public:
AWS_S3_API AnalyticsAndOperator();
AWS_S3_API AnalyticsAndOperator(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AnalyticsAndOperator& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The prefix to use when evaluating an AND predicate: The prefix that an object
* must have to be included in the metrics results.</p>
*/
inline const Aws::String& GetPrefix() const{ return m_prefix; }
inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; }
inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); }
inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); }
inline AnalyticsAndOperator& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;}
inline AnalyticsAndOperator& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;}
inline AnalyticsAndOperator& WithPrefix(const char* value) { SetPrefix(value); return *this;}
///@}
///@{
/**
* <p>The list of tags to use when evaluating an AND predicate.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
inline AnalyticsAndOperator& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
inline AnalyticsAndOperator& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
inline AnalyticsAndOperator& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
inline AnalyticsAndOperator& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
///@}
private:
Aws::String m_prefix;
bool m_prefixHasBeenSet = false;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,97 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/AnalyticsFilter.h>
#include <aws/s3/model/StorageClassAnalysis.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies the configuration and any analyses for the analytics filter of an
* Amazon S3 bucket.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsConfiguration">AWS
* API Reference</a></p>
*/
class AnalyticsConfiguration
{
public:
AWS_S3_API AnalyticsConfiguration();
AWS_S3_API AnalyticsConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AnalyticsConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The ID that identifies the analytics configuration.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline AnalyticsConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;}
inline AnalyticsConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline AnalyticsConfiguration& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The filter used to describe a set of objects for analyses. A filter must have
* exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no
* filter is provided, all objects will be considered in any analysis.</p>
*/
inline const AnalyticsFilter& GetFilter() const{ return m_filter; }
inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
inline void SetFilter(const AnalyticsFilter& value) { m_filterHasBeenSet = true; m_filter = value; }
inline void SetFilter(AnalyticsFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); }
inline AnalyticsConfiguration& WithFilter(const AnalyticsFilter& value) { SetFilter(value); return *this;}
inline AnalyticsConfiguration& WithFilter(AnalyticsFilter&& value) { SetFilter(std::move(value)); return *this;}
///@}
///@{
/**
* <p> Contains data related to access patterns to be collected and made available
* to analyze the tradeoffs between different storage classes. </p>
*/
inline const StorageClassAnalysis& GetStorageClassAnalysis() const{ return m_storageClassAnalysis; }
inline bool StorageClassAnalysisHasBeenSet() const { return m_storageClassAnalysisHasBeenSet; }
inline void SetStorageClassAnalysis(const StorageClassAnalysis& value) { m_storageClassAnalysisHasBeenSet = true; m_storageClassAnalysis = value; }
inline void SetStorageClassAnalysis(StorageClassAnalysis&& value) { m_storageClassAnalysisHasBeenSet = true; m_storageClassAnalysis = std::move(value); }
inline AnalyticsConfiguration& WithStorageClassAnalysis(const StorageClassAnalysis& value) { SetStorageClassAnalysis(value); return *this;}
inline AnalyticsConfiguration& WithStorageClassAnalysis(StorageClassAnalysis&& value) { SetStorageClassAnalysis(std::move(value)); return *this;}
///@}
private:
Aws::String m_id;
bool m_idHasBeenSet = false;
AnalyticsFilter m_filter;
bool m_filterHasBeenSet = false;
StorageClassAnalysis m_storageClassAnalysis;
bool m_storageClassAnalysisHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,59 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/AnalyticsS3BucketDestination.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Where to publish the analytics results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsExportDestination">AWS
* API Reference</a></p>
*/
class AnalyticsExportDestination
{
public:
AWS_S3_API AnalyticsExportDestination();
AWS_S3_API AnalyticsExportDestination(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AnalyticsExportDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>A destination signifying output to an S3 bucket.</p>
*/
inline const AnalyticsS3BucketDestination& GetS3BucketDestination() const{ return m_s3BucketDestination; }
inline bool S3BucketDestinationHasBeenSet() const { return m_s3BucketDestinationHasBeenSet; }
inline void SetS3BucketDestination(const AnalyticsS3BucketDestination& value) { m_s3BucketDestinationHasBeenSet = true; m_s3BucketDestination = value; }
inline void SetS3BucketDestination(AnalyticsS3BucketDestination&& value) { m_s3BucketDestinationHasBeenSet = true; m_s3BucketDestination = std::move(value); }
inline AnalyticsExportDestination& WithS3BucketDestination(const AnalyticsS3BucketDestination& value) { SetS3BucketDestination(value); return *this;}
inline AnalyticsExportDestination& WithS3BucketDestination(AnalyticsS3BucketDestination&& value) { SetS3BucketDestination(std::move(value)); return *this;}
///@}
private:
AnalyticsS3BucketDestination m_s3BucketDestination;
bool m_s3BucketDestinationHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,97 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/Tag.h>
#include <aws/s3/model/AnalyticsAndOperator.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>The filter used to describe a set of objects for analyses. A filter must have
* exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no
* filter is provided, all objects will be considered in any
* analysis.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsFilter">AWS
* API Reference</a></p>
*/
class AnalyticsFilter
{
public:
AWS_S3_API AnalyticsFilter();
AWS_S3_API AnalyticsFilter(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AnalyticsFilter& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The prefix to use when evaluating an analytics filter.</p>
*/
inline const Aws::String& GetPrefix() const{ return m_prefix; }
inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; }
inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); }
inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); }
inline AnalyticsFilter& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;}
inline AnalyticsFilter& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;}
inline AnalyticsFilter& WithPrefix(const char* value) { SetPrefix(value); return *this;}
///@}
///@{
/**
* <p>The tag to use when evaluating an analytics filter.</p>
*/
inline const Tag& GetTag() const{ return m_tag; }
inline bool TagHasBeenSet() const { return m_tagHasBeenSet; }
inline void SetTag(const Tag& value) { m_tagHasBeenSet = true; m_tag = value; }
inline void SetTag(Tag&& value) { m_tagHasBeenSet = true; m_tag = std::move(value); }
inline AnalyticsFilter& WithTag(const Tag& value) { SetTag(value); return *this;}
inline AnalyticsFilter& WithTag(Tag&& value) { SetTag(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A conjunction (logical AND) of predicates, which is used in evaluating an
* analytics filter. The operator must have at least two predicates.</p>
*/
inline const AnalyticsAndOperator& GetAnd() const{ return m_and; }
inline bool AndHasBeenSet() const { return m_andHasBeenSet; }
inline void SetAnd(const AnalyticsAndOperator& value) { m_andHasBeenSet = true; m_and = value; }
inline void SetAnd(AnalyticsAndOperator&& value) { m_andHasBeenSet = true; m_and = std::move(value); }
inline AnalyticsFilter& WithAnd(const AnalyticsAndOperator& value) { SetAnd(value); return *this;}
inline AnalyticsFilter& WithAnd(AnalyticsAndOperator&& value) { SetAnd(std::move(value)); return *this;}
///@}
private:
Aws::String m_prefix;
bool m_prefixHasBeenSet = false;
Tag m_tag;
bool m_tagHasBeenSet = false;
AnalyticsAndOperator m_and;
bool m_andHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,116 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/AnalyticsS3ExportFileFormat.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Contains information about where to publish the analytics
* results.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsS3BucketDestination">AWS
* API Reference</a></p>
*/
class AnalyticsS3BucketDestination
{
public:
AWS_S3_API AnalyticsS3BucketDestination();
AWS_S3_API AnalyticsS3BucketDestination(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API AnalyticsS3BucketDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Specifies the file format used when exporting data to Amazon S3.</p>
*/
inline const AnalyticsS3ExportFileFormat& GetFormat() const{ return m_format; }
inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; }
inline void SetFormat(const AnalyticsS3ExportFileFormat& value) { m_formatHasBeenSet = true; m_format = value; }
inline void SetFormat(AnalyticsS3ExportFileFormat&& value) { m_formatHasBeenSet = true; m_format = std::move(value); }
inline AnalyticsS3BucketDestination& WithFormat(const AnalyticsS3ExportFileFormat& value) { SetFormat(value); return *this;}
inline AnalyticsS3BucketDestination& WithFormat(AnalyticsS3ExportFileFormat&& value) { SetFormat(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The account ID that owns the destination S3 bucket. If no account ID is
* provided, the owner is not validated before exporting data.</p> <p>
* Although this value is optional, we strongly recommend that you set it to help
* prevent problems if the destination bucket ownership changes. </p>
*/
inline const Aws::String& GetBucketAccountId() const{ return m_bucketAccountId; }
inline bool BucketAccountIdHasBeenSet() const { return m_bucketAccountIdHasBeenSet; }
inline void SetBucketAccountId(const Aws::String& value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId = value; }
inline void SetBucketAccountId(Aws::String&& value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId = std::move(value); }
inline void SetBucketAccountId(const char* value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId.assign(value); }
inline AnalyticsS3BucketDestination& WithBucketAccountId(const Aws::String& value) { SetBucketAccountId(value); return *this;}
inline AnalyticsS3BucketDestination& WithBucketAccountId(Aws::String&& value) { SetBucketAccountId(std::move(value)); return *this;}
inline AnalyticsS3BucketDestination& WithBucketAccountId(const char* value) { SetBucketAccountId(value); return *this;}
///@}
///@{
/**
* <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline AnalyticsS3BucketDestination& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline AnalyticsS3BucketDestination& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline AnalyticsS3BucketDestination& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The prefix to use when exporting data. The prefix is prepended to all
* results.</p>
*/
inline const Aws::String& GetPrefix() const{ return m_prefix; }
inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; }
inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); }
inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); }
inline AnalyticsS3BucketDestination& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;}
inline AnalyticsS3BucketDestination& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;}
inline AnalyticsS3BucketDestination& WithPrefix(const char* value) { SetPrefix(value); return *this;}
///@}
private:
AnalyticsS3ExportFileFormat m_format;
bool m_formatHasBeenSet = false;
Aws::String m_bucketAccountId;
bool m_bucketAccountIdHasBeenSet = false;
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_prefix;
bool m_prefixHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class AnalyticsS3ExportFileFormat
{
NOT_SET,
CSV
};
namespace AnalyticsS3ExportFileFormatMapper
{
AWS_S3_API AnalyticsS3ExportFileFormat GetAnalyticsS3ExportFileFormatForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForAnalyticsS3ExportFileFormat(AnalyticsS3ExportFileFormat value);
} // namespace AnalyticsS3ExportFileFormatMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class ArchiveStatus
{
NOT_SET,
ARCHIVE_ACCESS,
DEEP_ARCHIVE_ACCESS
};
namespace ArchiveStatusMapper
{
AWS_S3_API ArchiveStatus GetArchiveStatusForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForArchiveStatus(ArchiveStatus value);
} // namespace ArchiveStatusMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,98 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p> In terms of implementation, a Bucket is a resource. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket">AWS API
* Reference</a></p>
*/
class Bucket
{
public:
AWS_S3_API Bucket();
AWS_S3_API Bucket(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API Bucket& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The name of the bucket.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline Bucket& WithName(const Aws::String& value) { SetName(value); return *this;}
inline Bucket& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline Bucket& WithName(const char* value) { SetName(value); return *this;}
///@}
///@{
/**
* <p>Date the bucket was created. This date can change when making changes to your
* bucket, such as editing its bucket policy.</p>
*/
inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; }
inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
inline Bucket& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;}
inline Bucket& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p> <code>BucketRegion</code> indicates the Amazon Web Services region where the
* bucket is located. If the request contains at least one valid parameter, it is
* included in the response.</p>
*/
inline const Aws::String& GetBucketRegion() const{ return m_bucketRegion; }
inline bool BucketRegionHasBeenSet() const { return m_bucketRegionHasBeenSet; }
inline void SetBucketRegion(const Aws::String& value) { m_bucketRegionHasBeenSet = true; m_bucketRegion = value; }
inline void SetBucketRegion(Aws::String&& value) { m_bucketRegionHasBeenSet = true; m_bucketRegion = std::move(value); }
inline void SetBucketRegion(const char* value) { m_bucketRegionHasBeenSet = true; m_bucketRegion.assign(value); }
inline Bucket& WithBucketRegion(const Aws::String& value) { SetBucketRegion(value); return *this;}
inline Bucket& WithBucketRegion(Aws::String&& value) { SetBucketRegion(std::move(value)); return *this;}
inline Bucket& WithBucketRegion(const char* value) { SetBucketRegion(value); return *this;}
///@}
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::Utils::DateTime m_creationDate;
bool m_creationDateHasBeenSet = false;
Aws::String m_bucketRegion;
bool m_bucketRegionHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class BucketAccelerateStatus
{
NOT_SET,
Enabled,
Suspended
};
namespace BucketAccelerateStatusMapper
{
AWS_S3_API BucketAccelerateStatus GetBucketAccelerateStatusForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForBucketAccelerateStatus(BucketAccelerateStatus value);
} // namespace BucketAccelerateStatusMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,33 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class BucketCannedACL
{
NOT_SET,
private_,
public_read,
public_read_write,
authenticated_read
};
namespace BucketCannedACLMapper
{
AWS_S3_API BucketCannedACL GetBucketCannedACLForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForBucketCannedACL(BucketCannedACL value);
} // namespace BucketCannedACLMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,80 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/DataRedundancy.h>
#include <aws/s3/model/BucketType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies the information about the bucket that will be created. For more
* information about directory buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html">Directory
* buckets</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This functionality
* is only supported by directory buckets.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketInfo">AWS API
* Reference</a></p>
*/
class BucketInfo
{
public:
AWS_S3_API BucketInfo();
AWS_S3_API BucketInfo(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API BucketInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The number of Availability Zone that's used for redundancy for the
* bucket.</p>
*/
inline const DataRedundancy& GetDataRedundancy() const{ return m_dataRedundancy; }
inline bool DataRedundancyHasBeenSet() const { return m_dataRedundancyHasBeenSet; }
inline void SetDataRedundancy(const DataRedundancy& value) { m_dataRedundancyHasBeenSet = true; m_dataRedundancy = value; }
inline void SetDataRedundancy(DataRedundancy&& value) { m_dataRedundancyHasBeenSet = true; m_dataRedundancy = std::move(value); }
inline BucketInfo& WithDataRedundancy(const DataRedundancy& value) { SetDataRedundancy(value); return *this;}
inline BucketInfo& WithDataRedundancy(DataRedundancy&& value) { SetDataRedundancy(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The type of bucket.</p>
*/
inline const BucketType& GetType() const{ return m_type; }
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
inline void SetType(const BucketType& value) { m_typeHasBeenSet = true; m_type = value; }
inline void SetType(BucketType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
inline BucketInfo& WithType(const BucketType& value) { SetType(value); return *this;}
inline BucketInfo& WithType(BucketType&& value) { SetType(std::move(value)); return *this;}
///@}
private:
DataRedundancy m_dataRedundancy;
bool m_dataRedundancyHasBeenSet = false;
BucketType m_type;
bool m_typeHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,66 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/s3/model/LifecycleRule.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
* Lifecycle Management</a> in the <i>Amazon S3 User Guide</i>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLifecycleConfiguration">AWS
* API Reference</a></p>
*/
class BucketLifecycleConfiguration
{
public:
AWS_S3_API BucketLifecycleConfiguration();
AWS_S3_API BucketLifecycleConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API BucketLifecycleConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>A lifecycle rule for individual objects in an Amazon S3 bucket.</p>
*/
inline const Aws::Vector<LifecycleRule>& GetRules() const{ return m_rules; }
inline bool RulesHasBeenSet() const { return m_rulesHasBeenSet; }
inline void SetRules(const Aws::Vector<LifecycleRule>& value) { m_rulesHasBeenSet = true; m_rules = value; }
inline void SetRules(Aws::Vector<LifecycleRule>&& value) { m_rulesHasBeenSet = true; m_rules = std::move(value); }
inline BucketLifecycleConfiguration& WithRules(const Aws::Vector<LifecycleRule>& value) { SetRules(value); return *this;}
inline BucketLifecycleConfiguration& WithRules(Aws::Vector<LifecycleRule>&& value) { SetRules(std::move(value)); return *this;}
inline BucketLifecycleConfiguration& AddRules(const LifecycleRule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; }
inline BucketLifecycleConfiguration& AddRules(LifecycleRule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(std::move(value)); return *this; }
///@}
private:
Aws::Vector<LifecycleRule> m_rules;
bool m_rulesHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,59 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class BucketLocationConstraint
{
NOT_SET,
af_south_1,
ap_east_1,
ap_northeast_1,
ap_northeast_2,
ap_northeast_3,
ap_south_1,
ap_south_2,
ap_southeast_1,
ap_southeast_2,
ap_southeast_3,
ca_central_1,
cn_north_1,
cn_northwest_1,
EU,
eu_central_1,
eu_north_1,
eu_south_1,
eu_south_2,
eu_west_1,
eu_west_2,
eu_west_3,
me_south_1,
sa_east_1,
us_east_2,
us_gov_east_1,
us_gov_west_1,
us_west_1,
us_west_2,
us_iso_west_1,
us_east_1
};
namespace BucketLocationConstraintMapper
{
AWS_S3_API BucketLocationConstraint GetBucketLocationConstraintForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForBucketLocationConstraint(BucketLocationConstraint value);
} // namespace BucketLocationConstraintMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,57 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/LoggingEnabled.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Container for logging status information.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLoggingStatus">AWS
* API Reference</a></p>
*/
class BucketLoggingStatus
{
public:
AWS_S3_API BucketLoggingStatus();
AWS_S3_API BucketLoggingStatus(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API BucketLoggingStatus& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
inline const LoggingEnabled& GetLoggingEnabled() const{ return m_loggingEnabled; }
inline bool LoggingEnabledHasBeenSet() const { return m_loggingEnabledHasBeenSet; }
inline void SetLoggingEnabled(const LoggingEnabled& value) { m_loggingEnabledHasBeenSet = true; m_loggingEnabled = value; }
inline void SetLoggingEnabled(LoggingEnabled&& value) { m_loggingEnabledHasBeenSet = true; m_loggingEnabled = std::move(value); }
inline BucketLoggingStatus& WithLoggingEnabled(const LoggingEnabled& value) { SetLoggingEnabled(value); return *this;}
inline BucketLoggingStatus& WithLoggingEnabled(LoggingEnabled&& value) { SetLoggingEnabled(std::move(value)); return *this;}
///@}
private:
LoggingEnabled m_loggingEnabled;
bool m_loggingEnabledHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class BucketLogsPermission
{
NOT_SET,
FULL_CONTROL,
READ,
WRITE
};
namespace BucketLogsPermissionMapper
{
AWS_S3_API BucketLogsPermission GetBucketLogsPermissionForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForBucketLogsPermission(BucketLogsPermission value);
} // namespace BucketLogsPermissionMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class BucketType
{
NOT_SET,
Directory
};
namespace BucketTypeMapper
{
AWS_S3_API BucketType GetBucketTypeForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForBucketType(BucketType value);
} // namespace BucketTypeMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class BucketVersioningStatus
{
NOT_SET,
Enabled,
Suspended
};
namespace BucketVersioningStatusMapper
{
AWS_S3_API BucketVersioningStatus GetBucketVersioningStatusForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForBucketVersioningStatus(BucketVersioningStatus value);
} // namespace BucketVersioningStatusMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/s3/model/CORSRule.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Describes the cross-origin access configuration for objects in an Amazon S3
* bucket. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">Enabling
* Cross-Origin Resource Sharing</a> in the <i>Amazon S3 User
* Guide</i>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSConfiguration">AWS
* API Reference</a></p>
*/
class CORSConfiguration
{
public:
AWS_S3_API CORSConfiguration();
AWS_S3_API CORSConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CORSConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>A set of origins and methods (cross-origin access that you want to allow).
* You can add up to 100 rules to the configuration.</p>
*/
inline const Aws::Vector<CORSRule>& GetCORSRules() const{ return m_cORSRules; }
inline bool CORSRulesHasBeenSet() const { return m_cORSRulesHasBeenSet; }
inline void SetCORSRules(const Aws::Vector<CORSRule>& value) { m_cORSRulesHasBeenSet = true; m_cORSRules = value; }
inline void SetCORSRules(Aws::Vector<CORSRule>&& value) { m_cORSRulesHasBeenSet = true; m_cORSRules = std::move(value); }
inline CORSConfiguration& WithCORSRules(const Aws::Vector<CORSRule>& value) { SetCORSRules(value); return *this;}
inline CORSConfiguration& WithCORSRules(Aws::Vector<CORSRule>&& value) { SetCORSRules(std::move(value)); return *this;}
inline CORSConfiguration& AddCORSRules(const CORSRule& value) { m_cORSRulesHasBeenSet = true; m_cORSRules.push_back(value); return *this; }
inline CORSConfiguration& AddCORSRules(CORSRule&& value) { m_cORSRulesHasBeenSet = true; m_cORSRules.push_back(std::move(value)); return *this; }
///@}
private:
Aws::Vector<CORSRule> m_cORSRules;
bool m_cORSRulesHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,158 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies a cross-origin access rule for an Amazon S3 bucket.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSRule">AWS API
* Reference</a></p>
*/
class CORSRule
{
public:
AWS_S3_API CORSRule();
AWS_S3_API CORSRule(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CORSRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Unique identifier for the rule. The value cannot be longer than 255
* characters.</p>
*/
inline const Aws::String& GetID() const{ return m_iD; }
inline bool IDHasBeenSet() const { return m_iDHasBeenSet; }
inline void SetID(const Aws::String& value) { m_iDHasBeenSet = true; m_iD = value; }
inline void SetID(Aws::String&& value) { m_iDHasBeenSet = true; m_iD = std::move(value); }
inline void SetID(const char* value) { m_iDHasBeenSet = true; m_iD.assign(value); }
inline CORSRule& WithID(const Aws::String& value) { SetID(value); return *this;}
inline CORSRule& WithID(Aws::String&& value) { SetID(std::move(value)); return *this;}
inline CORSRule& WithID(const char* value) { SetID(value); return *this;}
///@}
///@{
/**
* <p>Headers that are specified in the <code>Access-Control-Request-Headers</code>
* header. These headers are allowed in a preflight OPTIONS request. In response to
* any preflight OPTIONS request, Amazon S3 returns any requested headers that are
* allowed.</p>
*/
inline const Aws::Vector<Aws::String>& GetAllowedHeaders() const{ return m_allowedHeaders; }
inline bool AllowedHeadersHasBeenSet() const { return m_allowedHeadersHasBeenSet; }
inline void SetAllowedHeaders(const Aws::Vector<Aws::String>& value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders = value; }
inline void SetAllowedHeaders(Aws::Vector<Aws::String>&& value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders = std::move(value); }
inline CORSRule& WithAllowedHeaders(const Aws::Vector<Aws::String>& value) { SetAllowedHeaders(value); return *this;}
inline CORSRule& WithAllowedHeaders(Aws::Vector<Aws::String>&& value) { SetAllowedHeaders(std::move(value)); return *this;}
inline CORSRule& AddAllowedHeaders(const Aws::String& value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders.push_back(value); return *this; }
inline CORSRule& AddAllowedHeaders(Aws::String&& value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders.push_back(std::move(value)); return *this; }
inline CORSRule& AddAllowedHeaders(const char* value) { m_allowedHeadersHasBeenSet = true; m_allowedHeaders.push_back(value); return *this; }
///@}
///@{
/**
* <p>An HTTP method that you allow the origin to execute. Valid values are
* <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, <code>POST</code>, and
* <code>DELETE</code>.</p>
*/
inline const Aws::Vector<Aws::String>& GetAllowedMethods() const{ return m_allowedMethods; }
inline bool AllowedMethodsHasBeenSet() const { return m_allowedMethodsHasBeenSet; }
inline void SetAllowedMethods(const Aws::Vector<Aws::String>& value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods = value; }
inline void SetAllowedMethods(Aws::Vector<Aws::String>&& value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods = std::move(value); }
inline CORSRule& WithAllowedMethods(const Aws::Vector<Aws::String>& value) { SetAllowedMethods(value); return *this;}
inline CORSRule& WithAllowedMethods(Aws::Vector<Aws::String>&& value) { SetAllowedMethods(std::move(value)); return *this;}
inline CORSRule& AddAllowedMethods(const Aws::String& value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods.push_back(value); return *this; }
inline CORSRule& AddAllowedMethods(Aws::String&& value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods.push_back(std::move(value)); return *this; }
inline CORSRule& AddAllowedMethods(const char* value) { m_allowedMethodsHasBeenSet = true; m_allowedMethods.push_back(value); return *this; }
///@}
///@{
/**
* <p>One or more origins you want customers to be able to access the bucket
* from.</p>
*/
inline const Aws::Vector<Aws::String>& GetAllowedOrigins() const{ return m_allowedOrigins; }
inline bool AllowedOriginsHasBeenSet() const { return m_allowedOriginsHasBeenSet; }
inline void SetAllowedOrigins(const Aws::Vector<Aws::String>& value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins = value; }
inline void SetAllowedOrigins(Aws::Vector<Aws::String>&& value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins = std::move(value); }
inline CORSRule& WithAllowedOrigins(const Aws::Vector<Aws::String>& value) { SetAllowedOrigins(value); return *this;}
inline CORSRule& WithAllowedOrigins(Aws::Vector<Aws::String>&& value) { SetAllowedOrigins(std::move(value)); return *this;}
inline CORSRule& AddAllowedOrigins(const Aws::String& value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins.push_back(value); return *this; }
inline CORSRule& AddAllowedOrigins(Aws::String&& value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins.push_back(std::move(value)); return *this; }
inline CORSRule& AddAllowedOrigins(const char* value) { m_allowedOriginsHasBeenSet = true; m_allowedOrigins.push_back(value); return *this; }
///@}
///@{
/**
* <p>One or more headers in the response that you want customers to be able to
* access from their applications (for example, from a JavaScript
* <code>XMLHttpRequest</code> object).</p>
*/
inline const Aws::Vector<Aws::String>& GetExposeHeaders() const{ return m_exposeHeaders; }
inline bool ExposeHeadersHasBeenSet() const { return m_exposeHeadersHasBeenSet; }
inline void SetExposeHeaders(const Aws::Vector<Aws::String>& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders = value; }
inline void SetExposeHeaders(Aws::Vector<Aws::String>&& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders = std::move(value); }
inline CORSRule& WithExposeHeaders(const Aws::Vector<Aws::String>& value) { SetExposeHeaders(value); return *this;}
inline CORSRule& WithExposeHeaders(Aws::Vector<Aws::String>&& value) { SetExposeHeaders(std::move(value)); return *this;}
inline CORSRule& AddExposeHeaders(const Aws::String& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(value); return *this; }
inline CORSRule& AddExposeHeaders(Aws::String&& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(std::move(value)); return *this; }
inline CORSRule& AddExposeHeaders(const char* value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(value); return *this; }
///@}
///@{
/**
* <p>The time in seconds that your browser is to cache the preflight response for
* the specified resource.</p>
*/
inline int GetMaxAgeSeconds() const{ return m_maxAgeSeconds; }
inline bool MaxAgeSecondsHasBeenSet() const { return m_maxAgeSecondsHasBeenSet; }
inline void SetMaxAgeSeconds(int value) { m_maxAgeSecondsHasBeenSet = true; m_maxAgeSeconds = value; }
inline CORSRule& WithMaxAgeSeconds(int value) { SetMaxAgeSeconds(value); return *this;}
///@}
private:
Aws::String m_iD;
bool m_iDHasBeenSet = false;
Aws::Vector<Aws::String> m_allowedHeaders;
bool m_allowedHeadersHasBeenSet = false;
Aws::Vector<Aws::String> m_allowedMethods;
bool m_allowedMethodsHasBeenSet = false;
Aws::Vector<Aws::String> m_allowedOrigins;
bool m_allowedOriginsHasBeenSet = false;
Aws::Vector<Aws::String> m_exposeHeaders;
bool m_exposeHeadersHasBeenSet = false;
int m_maxAgeSeconds;
bool m_maxAgeSecondsHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,178 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/FileHeaderInfo.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Describes how an uncompressed comma-separated values (CSV)-formatted input
* object is formatted.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVInput">AWS API
* Reference</a></p>
*/
class CSVInput
{
public:
AWS_S3_API CSVInput();
AWS_S3_API CSVInput(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CSVInput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Describes the first line of input. Valid values are:</p> <ul> <li> <p>
* <code>NONE</code>: First line is not a header.</p> </li> <li> <p>
* <code>IGNORE</code>: First line is a header, but you can't use the header values
* to indicate the column in an expression. You can use column position (such as
* _1, _2, …) to indicate the column (<code>SELECT s._1 FROM OBJECT s</code>).</p>
* </li> <li> <p> <code>Use</code>: First line is a header, and you can use the
* header value to identify a column in an expression (<code>SELECT "name" FROM
* OBJECT</code>). </p> </li> </ul>
*/
inline const FileHeaderInfo& GetFileHeaderInfo() const{ return m_fileHeaderInfo; }
inline bool FileHeaderInfoHasBeenSet() const { return m_fileHeaderInfoHasBeenSet; }
inline void SetFileHeaderInfo(const FileHeaderInfo& value) { m_fileHeaderInfoHasBeenSet = true; m_fileHeaderInfo = value; }
inline void SetFileHeaderInfo(FileHeaderInfo&& value) { m_fileHeaderInfoHasBeenSet = true; m_fileHeaderInfo = std::move(value); }
inline CSVInput& WithFileHeaderInfo(const FileHeaderInfo& value) { SetFileHeaderInfo(value); return *this;}
inline CSVInput& WithFileHeaderInfo(FileHeaderInfo&& value) { SetFileHeaderInfo(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A single character used to indicate that a row should be ignored when the
* character is present at the start of that row. You can specify any character to
* indicate a comment line. The default character is <code>#</code>.</p>
* <p>Default: <code>#</code> </p>
*/
inline const Aws::String& GetComments() const{ return m_comments; }
inline bool CommentsHasBeenSet() const { return m_commentsHasBeenSet; }
inline void SetComments(const Aws::String& value) { m_commentsHasBeenSet = true; m_comments = value; }
inline void SetComments(Aws::String&& value) { m_commentsHasBeenSet = true; m_comments = std::move(value); }
inline void SetComments(const char* value) { m_commentsHasBeenSet = true; m_comments.assign(value); }
inline CSVInput& WithComments(const Aws::String& value) { SetComments(value); return *this;}
inline CSVInput& WithComments(Aws::String&& value) { SetComments(std::move(value)); return *this;}
inline CSVInput& WithComments(const char* value) { SetComments(value); return *this;}
///@}
///@{
/**
* <p>A single character used for escaping the quotation mark character inside an
* already escaped value. For example, the value <code>""" a , b """</code> is
* parsed as <code>" a , b "</code>.</p>
*/
inline const Aws::String& GetQuoteEscapeCharacter() const{ return m_quoteEscapeCharacter; }
inline bool QuoteEscapeCharacterHasBeenSet() const { return m_quoteEscapeCharacterHasBeenSet; }
inline void SetQuoteEscapeCharacter(const Aws::String& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = value; }
inline void SetQuoteEscapeCharacter(Aws::String&& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = std::move(value); }
inline void SetQuoteEscapeCharacter(const char* value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter.assign(value); }
inline CSVInput& WithQuoteEscapeCharacter(const Aws::String& value) { SetQuoteEscapeCharacter(value); return *this;}
inline CSVInput& WithQuoteEscapeCharacter(Aws::String&& value) { SetQuoteEscapeCharacter(std::move(value)); return *this;}
inline CSVInput& WithQuoteEscapeCharacter(const char* value) { SetQuoteEscapeCharacter(value); return *this;}
///@}
///@{
/**
* <p>A single character used to separate individual records in the input. Instead
* of the default value, you can specify an arbitrary delimiter.</p>
*/
inline const Aws::String& GetRecordDelimiter() const{ return m_recordDelimiter; }
inline bool RecordDelimiterHasBeenSet() const { return m_recordDelimiterHasBeenSet; }
inline void SetRecordDelimiter(const Aws::String& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = value; }
inline void SetRecordDelimiter(Aws::String&& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = std::move(value); }
inline void SetRecordDelimiter(const char* value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter.assign(value); }
inline CSVInput& WithRecordDelimiter(const Aws::String& value) { SetRecordDelimiter(value); return *this;}
inline CSVInput& WithRecordDelimiter(Aws::String&& value) { SetRecordDelimiter(std::move(value)); return *this;}
inline CSVInput& WithRecordDelimiter(const char* value) { SetRecordDelimiter(value); return *this;}
///@}
///@{
/**
* <p>A single character used to separate individual fields in a record. You can
* specify an arbitrary delimiter.</p>
*/
inline const Aws::String& GetFieldDelimiter() const{ return m_fieldDelimiter; }
inline bool FieldDelimiterHasBeenSet() const { return m_fieldDelimiterHasBeenSet; }
inline void SetFieldDelimiter(const Aws::String& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = value; }
inline void SetFieldDelimiter(Aws::String&& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = std::move(value); }
inline void SetFieldDelimiter(const char* value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter.assign(value); }
inline CSVInput& WithFieldDelimiter(const Aws::String& value) { SetFieldDelimiter(value); return *this;}
inline CSVInput& WithFieldDelimiter(Aws::String&& value) { SetFieldDelimiter(std::move(value)); return *this;}
inline CSVInput& WithFieldDelimiter(const char* value) { SetFieldDelimiter(value); return *this;}
///@}
///@{
/**
* <p>A single character used for escaping when the field delimiter is part of the
* value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this
* field value in quotation marks, as follows: <code>" a , b "</code>.</p> <p>Type:
* String</p> <p>Default: <code>"</code> </p> <p>Ancestors: <code>CSV</code> </p>
*/
inline const Aws::String& GetQuoteCharacter() const{ return m_quoteCharacter; }
inline bool QuoteCharacterHasBeenSet() const { return m_quoteCharacterHasBeenSet; }
inline void SetQuoteCharacter(const Aws::String& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = value; }
inline void SetQuoteCharacter(Aws::String&& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = std::move(value); }
inline void SetQuoteCharacter(const char* value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter.assign(value); }
inline CSVInput& WithQuoteCharacter(const Aws::String& value) { SetQuoteCharacter(value); return *this;}
inline CSVInput& WithQuoteCharacter(Aws::String&& value) { SetQuoteCharacter(std::move(value)); return *this;}
inline CSVInput& WithQuoteCharacter(const char* value) { SetQuoteCharacter(value); return *this;}
///@}
///@{
/**
* <p>Specifies that CSV field values may contain quoted record delimiters and such
* records should be allowed. Default value is FALSE. Setting this value to TRUE
* may lower performance.</p>
*/
inline bool GetAllowQuotedRecordDelimiter() const{ return m_allowQuotedRecordDelimiter; }
inline bool AllowQuotedRecordDelimiterHasBeenSet() const { return m_allowQuotedRecordDelimiterHasBeenSet; }
inline void SetAllowQuotedRecordDelimiter(bool value) { m_allowQuotedRecordDelimiterHasBeenSet = true; m_allowQuotedRecordDelimiter = value; }
inline CSVInput& WithAllowQuotedRecordDelimiter(bool value) { SetAllowQuotedRecordDelimiter(value); return *this;}
///@}
private:
FileHeaderInfo m_fileHeaderInfo;
bool m_fileHeaderInfoHasBeenSet = false;
Aws::String m_comments;
bool m_commentsHasBeenSet = false;
Aws::String m_quoteEscapeCharacter;
bool m_quoteEscapeCharacterHasBeenSet = false;
Aws::String m_recordDelimiter;
bool m_recordDelimiterHasBeenSet = false;
Aws::String m_fieldDelimiter;
bool m_fieldDelimiterHasBeenSet = false;
Aws::String m_quoteCharacter;
bool m_quoteCharacterHasBeenSet = false;
bool m_allowQuotedRecordDelimiter;
bool m_allowQuotedRecordDelimiterHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,137 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/QuoteFields.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Describes how uncompressed comma-separated values (CSV)-formatted results are
* formatted.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVOutput">AWS API
* Reference</a></p>
*/
class CSVOutput
{
public:
AWS_S3_API CSVOutput();
AWS_S3_API CSVOutput(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CSVOutput& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Indicates whether to use quotation marks around output fields. </p> <ul> <li>
* <p> <code>ALWAYS</code>: Always use quotation marks for output fields.</p> </li>
* <li> <p> <code>ASNEEDED</code>: Use quotation marks for output fields when
* needed.</p> </li> </ul>
*/
inline const QuoteFields& GetQuoteFields() const{ return m_quoteFields; }
inline bool QuoteFieldsHasBeenSet() const { return m_quoteFieldsHasBeenSet; }
inline void SetQuoteFields(const QuoteFields& value) { m_quoteFieldsHasBeenSet = true; m_quoteFields = value; }
inline void SetQuoteFields(QuoteFields&& value) { m_quoteFieldsHasBeenSet = true; m_quoteFields = std::move(value); }
inline CSVOutput& WithQuoteFields(const QuoteFields& value) { SetQuoteFields(value); return *this;}
inline CSVOutput& WithQuoteFields(QuoteFields&& value) { SetQuoteFields(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The single character used for escaping the quote character inside an already
* escaped value.</p>
*/
inline const Aws::String& GetQuoteEscapeCharacter() const{ return m_quoteEscapeCharacter; }
inline bool QuoteEscapeCharacterHasBeenSet() const { return m_quoteEscapeCharacterHasBeenSet; }
inline void SetQuoteEscapeCharacter(const Aws::String& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = value; }
inline void SetQuoteEscapeCharacter(Aws::String&& value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter = std::move(value); }
inline void SetQuoteEscapeCharacter(const char* value) { m_quoteEscapeCharacterHasBeenSet = true; m_quoteEscapeCharacter.assign(value); }
inline CSVOutput& WithQuoteEscapeCharacter(const Aws::String& value) { SetQuoteEscapeCharacter(value); return *this;}
inline CSVOutput& WithQuoteEscapeCharacter(Aws::String&& value) { SetQuoteEscapeCharacter(std::move(value)); return *this;}
inline CSVOutput& WithQuoteEscapeCharacter(const char* value) { SetQuoteEscapeCharacter(value); return *this;}
///@}
///@{
/**
* <p>A single character used to separate individual records in the output. Instead
* of the default value, you can specify an arbitrary delimiter.</p>
*/
inline const Aws::String& GetRecordDelimiter() const{ return m_recordDelimiter; }
inline bool RecordDelimiterHasBeenSet() const { return m_recordDelimiterHasBeenSet; }
inline void SetRecordDelimiter(const Aws::String& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = value; }
inline void SetRecordDelimiter(Aws::String&& value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter = std::move(value); }
inline void SetRecordDelimiter(const char* value) { m_recordDelimiterHasBeenSet = true; m_recordDelimiter.assign(value); }
inline CSVOutput& WithRecordDelimiter(const Aws::String& value) { SetRecordDelimiter(value); return *this;}
inline CSVOutput& WithRecordDelimiter(Aws::String&& value) { SetRecordDelimiter(std::move(value)); return *this;}
inline CSVOutput& WithRecordDelimiter(const char* value) { SetRecordDelimiter(value); return *this;}
///@}
///@{
/**
* <p>The value used to separate individual fields in a record. You can specify an
* arbitrary delimiter.</p>
*/
inline const Aws::String& GetFieldDelimiter() const{ return m_fieldDelimiter; }
inline bool FieldDelimiterHasBeenSet() const { return m_fieldDelimiterHasBeenSet; }
inline void SetFieldDelimiter(const Aws::String& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = value; }
inline void SetFieldDelimiter(Aws::String&& value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter = std::move(value); }
inline void SetFieldDelimiter(const char* value) { m_fieldDelimiterHasBeenSet = true; m_fieldDelimiter.assign(value); }
inline CSVOutput& WithFieldDelimiter(const Aws::String& value) { SetFieldDelimiter(value); return *this;}
inline CSVOutput& WithFieldDelimiter(Aws::String&& value) { SetFieldDelimiter(std::move(value)); return *this;}
inline CSVOutput& WithFieldDelimiter(const char* value) { SetFieldDelimiter(value); return *this;}
///@}
///@{
/**
* <p>A single character used for escaping when the field delimiter is part of the
* value. For example, if the value is <code>a, b</code>, Amazon S3 wraps this
* field value in quotation marks, as follows: <code>" a , b "</code>.</p>
*/
inline const Aws::String& GetQuoteCharacter() const{ return m_quoteCharacter; }
inline bool QuoteCharacterHasBeenSet() const { return m_quoteCharacterHasBeenSet; }
inline void SetQuoteCharacter(const Aws::String& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = value; }
inline void SetQuoteCharacter(Aws::String&& value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter = std::move(value); }
inline void SetQuoteCharacter(const char* value) { m_quoteCharacterHasBeenSet = true; m_quoteCharacter.assign(value); }
inline CSVOutput& WithQuoteCharacter(const Aws::String& value) { SetQuoteCharacter(value); return *this;}
inline CSVOutput& WithQuoteCharacter(Aws::String&& value) { SetQuoteCharacter(std::move(value)); return *this;}
inline CSVOutput& WithQuoteCharacter(const char* value) { SetQuoteCharacter(value); return *this;}
///@}
private:
QuoteFields m_quoteFields;
bool m_quoteFieldsHasBeenSet = false;
Aws::String m_quoteEscapeCharacter;
bool m_quoteEscapeCharacterHasBeenSet = false;
Aws::String m_recordDelimiter;
bool m_recordDelimiterHasBeenSet = false;
Aws::String m_fieldDelimiter;
bool m_fieldDelimiterHasBeenSet = false;
Aws::String m_quoteCharacter;
bool m_quoteCharacterHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,141 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Contains all the possible checksum or digest values for an
* object.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Checksum">AWS API
* Reference</a></p>
*/
class Checksum
{
public:
AWS_S3_API Checksum();
AWS_S3_API Checksum(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API Checksum& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; }
inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; }
inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; }
inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); }
inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); }
inline Checksum& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;}
inline Checksum& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;}
inline Checksum& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; }
inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; }
inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; }
inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); }
inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); }
inline Checksum& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;}
inline Checksum& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;}
inline Checksum& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
* present if it was uploaded with the object. When you use the API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; }
inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; }
inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; }
inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); }
inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); }
inline Checksum& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;}
inline Checksum& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;}
inline Checksum& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; }
inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; }
inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; }
inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); }
inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); }
inline Checksum& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;}
inline Checksum& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;}
inline Checksum& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;}
///@}
private:
Aws::String m_checksumCRC32;
bool m_checksumCRC32HasBeenSet = false;
Aws::String m_checksumCRC32C;
bool m_checksumCRC32CHasBeenSet = false;
Aws::String m_checksumSHA1;
bool m_checksumSHA1HasBeenSet = false;
Aws::String m_checksumSHA256;
bool m_checksumSHA256HasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,33 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class ChecksumAlgorithm
{
NOT_SET,
CRC32,
CRC32C,
SHA1,
SHA256
};
namespace ChecksumAlgorithmMapper
{
AWS_S3_API ChecksumAlgorithm GetChecksumAlgorithmForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForChecksumAlgorithm(ChecksumAlgorithm value);
} // namespace ChecksumAlgorithmMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class ChecksumMode
{
NOT_SET,
ENABLED
};
namespace ChecksumModeMapper
{
AWS_S3_API ChecksumMode GetChecksumModeForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForChecksumMode(ChecksumMode value);
} // namespace ChecksumModeMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,114 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/s3/model/Event.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Container for specifying the Lambda notification configuration.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CloudFunctionConfiguration">AWS
* API Reference</a></p>
*/
class CloudFunctionConfiguration
{
public:
AWS_S3_API CloudFunctionConfiguration();
AWS_S3_API CloudFunctionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CloudFunctionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline CloudFunctionConfiguration& WithId(const Aws::String& value) { SetId(value); return *this;}
inline CloudFunctionConfiguration& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline CloudFunctionConfiguration& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>Bucket events for which to send notifications.</p>
*/
inline const Aws::Vector<Event>& GetEvents() const{ return m_events; }
inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; }
inline void SetEvents(const Aws::Vector<Event>& value) { m_eventsHasBeenSet = true; m_events = value; }
inline void SetEvents(Aws::Vector<Event>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); }
inline CloudFunctionConfiguration& WithEvents(const Aws::Vector<Event>& value) { SetEvents(value); return *this;}
inline CloudFunctionConfiguration& WithEvents(Aws::Vector<Event>&& value) { SetEvents(std::move(value)); return *this;}
inline CloudFunctionConfiguration& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; }
inline CloudFunctionConfiguration& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Lambda cloud function ARN that Amazon S3 can invoke when it detects events of
* the specified type.</p>
*/
inline const Aws::String& GetCloudFunction() const{ return m_cloudFunction; }
inline bool CloudFunctionHasBeenSet() const { return m_cloudFunctionHasBeenSet; }
inline void SetCloudFunction(const Aws::String& value) { m_cloudFunctionHasBeenSet = true; m_cloudFunction = value; }
inline void SetCloudFunction(Aws::String&& value) { m_cloudFunctionHasBeenSet = true; m_cloudFunction = std::move(value); }
inline void SetCloudFunction(const char* value) { m_cloudFunctionHasBeenSet = true; m_cloudFunction.assign(value); }
inline CloudFunctionConfiguration& WithCloudFunction(const Aws::String& value) { SetCloudFunction(value); return *this;}
inline CloudFunctionConfiguration& WithCloudFunction(Aws::String&& value) { SetCloudFunction(std::move(value)); return *this;}
inline CloudFunctionConfiguration& WithCloudFunction(const char* value) { SetCloudFunction(value); return *this;}
///@}
///@{
/**
* <p>The role supporting the invocation of the Lambda function</p>
*/
inline const Aws::String& GetInvocationRole() const{ return m_invocationRole; }
inline bool InvocationRoleHasBeenSet() const { return m_invocationRoleHasBeenSet; }
inline void SetInvocationRole(const Aws::String& value) { m_invocationRoleHasBeenSet = true; m_invocationRole = value; }
inline void SetInvocationRole(Aws::String&& value) { m_invocationRoleHasBeenSet = true; m_invocationRole = std::move(value); }
inline void SetInvocationRole(const char* value) { m_invocationRoleHasBeenSet = true; m_invocationRole.assign(value); }
inline CloudFunctionConfiguration& WithInvocationRole(const Aws::String& value) { SetInvocationRole(value); return *this;}
inline CloudFunctionConfiguration& WithInvocationRole(Aws::String&& value) { SetInvocationRole(std::move(value)); return *this;}
inline CloudFunctionConfiguration& WithInvocationRole(const char* value) { SetInvocationRole(value); return *this;}
///@}
private:
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::Vector<Event> m_events;
bool m_eventsHasBeenSet = false;
Aws::String m_cloudFunction;
bool m_cloudFunctionHasBeenSet = false;
Aws::String m_invocationRole;
bool m_invocationRoleHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,65 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Container for 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/. </p><p><h3>See Also:</h3>
* <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CommonPrefix">AWS
* API Reference</a></p>
*/
class CommonPrefix
{
public:
AWS_S3_API CommonPrefix();
AWS_S3_API CommonPrefix(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CommonPrefix& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Container for the specified common prefix.</p>
*/
inline const Aws::String& GetPrefix() const{ return m_prefix; }
inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; }
inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); }
inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); }
inline CommonPrefix& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;}
inline CommonPrefix& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;}
inline CommonPrefix& WithPrefix(const char* value) { SetPrefix(value); return *this;}
///@}
private:
Aws::String m_prefix;
bool m_prefixHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,383 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/CompletedMultipartUpload.h>
#include <aws/s3/model/RequestPayer.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class CompleteMultipartUploadRequest : public S3Request
{
public:
AWS_S3_API CompleteMultipartUploadRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CompleteMultipartUpload"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>Name of the bucket to which the multipart upload was initiated.</p> <p>
* <b>Directory buckets</b> - When you use this operation with a directory bucket,
* you must use virtual-hosted-style requests in the format <code>
* <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>.
* Path-style requests are not supported. Directory bucket names must be unique in
* the chosen Availability Zone. Bucket names must follow the format <code>
* <i>bucket_base_name</i>--<i>az-id</i>--x-s3</code> (for example, <code>
* <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about
* bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access
* points</b> - When you use this action with an access point, you must provide the
* alias of the access point in place of the bucket name or specify the access
* point ARN. When using the access point ARN, you must direct requests to the
* access point hostname. The access point hostname takes the form
* <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
* access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Access
* points and Object Lambda access points are not supported by directory
* buckets.</p> <p> <b>S3 on Outposts</b> - 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 <code>
* <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>.
* 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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What
* is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline CompleteMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline CompleteMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>Object key for which the multipart upload was initiated.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline CompleteMultipartUploadRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline CompleteMultipartUploadRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>The container for the multipart upload request information.</p>
*/
inline const CompletedMultipartUpload& GetMultipartUpload() const{ return m_multipartUpload; }
inline bool MultipartUploadHasBeenSet() const { return m_multipartUploadHasBeenSet; }
inline void SetMultipartUpload(const CompletedMultipartUpload& value) { m_multipartUploadHasBeenSet = true; m_multipartUpload = value; }
inline void SetMultipartUpload(CompletedMultipartUpload&& value) { m_multipartUploadHasBeenSet = true; m_multipartUpload = std::move(value); }
inline CompleteMultipartUploadRequest& WithMultipartUpload(const CompletedMultipartUpload& value) { SetMultipartUpload(value); return *this;}
inline CompleteMultipartUploadRequest& WithMultipartUpload(CompletedMultipartUpload&& value) { SetMultipartUpload(std::move(value)); return *this;}
///@}
///@{
/**
* <p>ID for the initiated multipart upload.</p>
*/
inline const Aws::String& GetUploadId() const{ return m_uploadId; }
inline bool UploadIdHasBeenSet() const { return m_uploadIdHasBeenSet; }
inline void SetUploadId(const Aws::String& value) { m_uploadIdHasBeenSet = true; m_uploadId = value; }
inline void SetUploadId(Aws::String&& value) { m_uploadIdHasBeenSet = true; m_uploadId = std::move(value); }
inline void SetUploadId(const char* value) { m_uploadIdHasBeenSet = true; m_uploadId.assign(value); }
inline CompleteMultipartUploadRequest& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;}
inline CompleteMultipartUploadRequest& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithUploadId(const char* value) { SetUploadId(value); return *this;}
///@}
///@{
/**
* <p>This header can be used as a data integrity check to verify that the data
* received is the same data that was originally sent. This header specifies the
* base64-encoded, 32-bit CRC-32 checksum of the object. For more information, see
* <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; }
inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; }
inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; }
inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); }
inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); }
inline CompleteMultipartUploadRequest& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;}
inline CompleteMultipartUploadRequest& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;}
///@}
///@{
/**
* <p>This header can be used as a data integrity check to verify that the data
* received is the same data that was originally sent. This header specifies the
* base64-encoded, 32-bit CRC-32C checksum of the object. For more information, see
* <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; }
inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; }
inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; }
inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); }
inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); }
inline CompleteMultipartUploadRequest& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;}
inline CompleteMultipartUploadRequest& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;}
///@}
///@{
/**
* <p>This header can be used as a data integrity check to verify that the data
* received is the same data that was originally sent. This header specifies the
* base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; }
inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; }
inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; }
inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); }
inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); }
inline CompleteMultipartUploadRequest& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;}
inline CompleteMultipartUploadRequest& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;}
///@}
///@{
/**
* <p>This header can be used as a data integrity check to verify that the data
* received is the same data that was originally sent. This header specifies the
* base64-encoded, 256-bit SHA-256 digest of the object. For more information, see
* <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; }
inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; }
inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; }
inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); }
inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); }
inline CompleteMultipartUploadRequest& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;}
inline CompleteMultipartUploadRequest& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;}
///@}
///@{
inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; }
inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; }
inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); }
inline CompleteMultipartUploadRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;}
inline CompleteMultipartUploadRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
/**
* <p>Uploads the object only if the object key name does not already exist in the
* bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition
* Failed</code> error.</p> <p>If a conflicting operation occurs during the upload
* S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409
* failure you should re-initiate the multipart upload with
* <code>CreateMultipartUpload</code> and re-upload each part.</p> <p>Expects the
* '*' (asterisk) character.</p> <p>For more information about conditional
* requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional
* requests</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetIfNoneMatch() const{ return m_ifNoneMatch; }
inline bool IfNoneMatchHasBeenSet() const { return m_ifNoneMatchHasBeenSet; }
inline void SetIfNoneMatch(const Aws::String& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = value; }
inline void SetIfNoneMatch(Aws::String&& value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch = std::move(value); }
inline void SetIfNoneMatch(const char* value) { m_ifNoneMatchHasBeenSet = true; m_ifNoneMatch.assign(value); }
inline CompleteMultipartUploadRequest& WithIfNoneMatch(const Aws::String& value) { SetIfNoneMatch(value); return *this;}
inline CompleteMultipartUploadRequest& WithIfNoneMatch(Aws::String&& value) { SetIfNoneMatch(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithIfNoneMatch(const char* value) { SetIfNoneMatch(value); return *this;}
///@}
///@{
/**
* <p>The server-side encryption (SSE) algorithm used to encrypt the object. This
* parameter is required only when the object was created using a checksum
* algorithm or if your bucket policy requires the use of SSE-C. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting
* data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; }
inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; }
inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; }
inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); }
inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); }
inline CompleteMultipartUploadRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;}
inline CompleteMultipartUploadRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;}
///@}
///@{
/**
* <p>The server-side encryption (SSE) customer managed key. This parameter is
* needed only when the object was created using a checksum algorithm. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting
* data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; }
inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; }
inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; }
inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); }
inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); }
inline CompleteMultipartUploadRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;}
inline CompleteMultipartUploadRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;}
///@}
///@{
/**
* <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is
* needed only when the object was created using a checksum algorithm. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting
* data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; }
inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; }
inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; }
inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); }
inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); }
inline CompleteMultipartUploadRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;}
inline CompleteMultipartUploadRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline CompleteMultipartUploadRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline CompleteMultipartUploadRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CompleteMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_key;
bool m_keyHasBeenSet = false;
CompletedMultipartUpload m_multipartUpload;
bool m_multipartUploadHasBeenSet = false;
Aws::String m_uploadId;
bool m_uploadIdHasBeenSet = false;
Aws::String m_checksumCRC32;
bool m_checksumCRC32HasBeenSet = false;
Aws::String m_checksumCRC32C;
bool m_checksumCRC32CHasBeenSet = false;
Aws::String m_checksumSHA1;
bool m_checksumSHA1HasBeenSet = false;
Aws::String m_checksumSHA256;
bool m_checksumSHA256HasBeenSet = false;
RequestPayer m_requestPayer;
bool m_requestPayerHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::String m_ifNoneMatch;
bool m_ifNoneMatchHasBeenSet = false;
Aws::String m_sSECustomerAlgorithm;
bool m_sSECustomerAlgorithmHasBeenSet = false;
Aws::String m_sSECustomerKey;
bool m_sSECustomerKeyHasBeenSet = false;
Aws::String m_sSECustomerKeyMD5;
bool m_sSECustomerKeyMD5HasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,300 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/ServerSideEncryption.h>
#include <aws/s3/model/RequestCharged.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class CompleteMultipartUploadResult
{
public:
AWS_S3_API CompleteMultipartUploadResult();
AWS_S3_API CompleteMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API CompleteMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>The URI that identifies the newly created object.</p>
*/
inline const Aws::String& GetLocation() const{ return m_location; }
inline void SetLocation(const Aws::String& value) { m_location = value; }
inline void SetLocation(Aws::String&& value) { m_location = std::move(value); }
inline void SetLocation(const char* value) { m_location.assign(value); }
inline CompleteMultipartUploadResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;}
inline CompleteMultipartUploadResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithLocation(const char* value) { SetLocation(value); return *this;}
///@}
///@{
/**
* <p>The name of the bucket that contains the newly created object. Does not
* return the access point ARN or access point alias if used.</p> <p>Access
* points are not supported by directory buckets.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline void SetBucket(const Aws::String& value) { m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucket.assign(value); }
inline CompleteMultipartUploadResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline CompleteMultipartUploadResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The object key of the newly created object.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline void SetKey(const Aws::String& value) { m_key = value; }
inline void SetKey(Aws::String&& value) { m_key = std::move(value); }
inline void SetKey(const char* value) { m_key.assign(value); }
inline CompleteMultipartUploadResult& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline CompleteMultipartUploadResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>If the object expiration is configured, this will contain the expiration date
* (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of
* <code>rule-id</code> is URL-encoded.</p> <p>This functionality is not
* supported for directory buckets.</p>
*/
inline const Aws::String& GetExpiration() const{ return m_expiration; }
inline void SetExpiration(const Aws::String& value) { m_expiration = value; }
inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); }
inline void SetExpiration(const char* value) { m_expiration.assign(value); }
inline CompleteMultipartUploadResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;}
inline CompleteMultipartUploadResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithExpiration(const char* value) { SetExpiration(value); return *this;}
///@}
///@{
/**
* <p>Entity tag that identifies the newly created object's data. Objects with
* different object data will have different entity tags. The entity tag is an
* opaque string. The entity tag may or may not be an MD5 digest of the object
* data. If the entity tag is not an MD5 digest of the object data, it will contain
* one or more nonhexadecimal characters and/or will consist of less than 32 or
* more than 32 hexadecimal digits. For more information about how the entity tag
* is calculated, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetETag() const{ return m_eTag; }
inline void SetETag(const Aws::String& value) { m_eTag = value; }
inline void SetETag(Aws::String&& value) { m_eTag = std::move(value); }
inline void SetETag(const char* value) { m_eTag.assign(value); }
inline CompleteMultipartUploadResult& WithETag(const Aws::String& value) { SetETag(value); return *this;}
inline CompleteMultipartUploadResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithETag(const char* value) { SetETag(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; }
inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32 = value; }
inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32 = std::move(value); }
inline void SetChecksumCRC32(const char* value) { m_checksumCRC32.assign(value); }
inline CompleteMultipartUploadResult& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;}
inline CompleteMultipartUploadResult& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; }
inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32C = value; }
inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32C = std::move(value); }
inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32C.assign(value); }
inline CompleteMultipartUploadResult& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;}
inline CompleteMultipartUploadResult& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
* present if it was uploaded with the object. When you use the API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; }
inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1 = value; }
inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1 = std::move(value); }
inline void SetChecksumSHA1(const char* value) { m_checksumSHA1.assign(value); }
inline CompleteMultipartUploadResult& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;}
inline CompleteMultipartUploadResult& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; }
inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256 = value; }
inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256 = std::move(value); }
inline void SetChecksumSHA256(const char* value) { m_checksumSHA256.assign(value); }
inline CompleteMultipartUploadResult& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;}
inline CompleteMultipartUploadResult& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;}
///@}
///@{
/**
* <p>The server-side encryption algorithm used when storing this object in Amazon
* S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
*/
inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; }
inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; }
inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); }
inline CompleteMultipartUploadResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;}
inline CompleteMultipartUploadResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Version ID of the newly created object, in case the bucket has versioning
* turned on.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline void SetVersionId(const Aws::String& value) { m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionId.assign(value); }
inline CompleteMultipartUploadResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline CompleteMultipartUploadResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithVersionId(const char* value) { SetVersionId(value); return *this;}
///@}
///@{
/**
* <p>If present, indicates the ID of the KMS key that was used for object
* encryption.</p>
*/
inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; }
inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; }
inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); }
inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); }
inline CompleteMultipartUploadResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;}
inline CompleteMultipartUploadResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;}
///@}
///@{
/**
* <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side
* encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
*/
inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; }
inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; }
inline CompleteMultipartUploadResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(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 CompleteMultipartUploadResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;}
inline CompleteMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CompleteMultipartUploadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CompleteMultipartUploadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CompleteMultipartUploadResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_location;
Aws::String m_bucket;
Aws::String m_key;
Aws::String m_expiration;
Aws::String m_eTag;
Aws::String m_checksumCRC32;
Aws::String m_checksumCRC32C;
Aws::String m_checksumSHA1;
Aws::String m_checksumSHA256;
ServerSideEncryption m_serverSideEncryption;
Aws::String m_versionId;
Aws::String m_sSEKMSKeyId;
bool m_bucketKeyEnabled;
RequestCharged m_requestCharged;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,65 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/s3/model/CompletedPart.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>The container for the completed multipart upload details.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedMultipartUpload">AWS
* API Reference</a></p>
*/
class CompletedMultipartUpload
{
public:
AWS_S3_API CompletedMultipartUpload();
AWS_S3_API CompletedMultipartUpload(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CompletedMultipartUpload& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Array of CompletedPart data types.</p> <p>If you do not supply a valid
* <code>Part</code> with your request, the service sends back an HTTP 400
* response.</p>
*/
inline const Aws::Vector<CompletedPart>& GetParts() const{ return m_parts; }
inline bool PartsHasBeenSet() const { return m_partsHasBeenSet; }
inline void SetParts(const Aws::Vector<CompletedPart>& value) { m_partsHasBeenSet = true; m_parts = value; }
inline void SetParts(Aws::Vector<CompletedPart>&& value) { m_partsHasBeenSet = true; m_parts = std::move(value); }
inline CompletedMultipartUpload& WithParts(const Aws::Vector<CompletedPart>& value) { SetParts(value); return *this;}
inline CompletedMultipartUpload& WithParts(Aws::Vector<CompletedPart>&& value) { SetParts(std::move(value)); return *this;}
inline CompletedMultipartUpload& AddParts(const CompletedPart& value) { m_partsHasBeenSet = true; m_parts.push_back(value); return *this; }
inline CompletedMultipartUpload& AddParts(CompletedPart&& value) { m_partsHasBeenSet = true; m_parts.push_back(std::move(value)); return *this; }
///@}
private:
Aws::Vector<CompletedPart> m_parts;
bool m_partsHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,180 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Details of the parts that were uploaded.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedPart">AWS
* API Reference</a></p>
*/
class CompletedPart
{
public:
AWS_S3_API CompletedPart();
AWS_S3_API CompletedPart(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CompletedPart& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Entity tag returned when the part was uploaded.</p>
*/
inline const Aws::String& GetETag() const{ return m_eTag; }
inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; }
inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; }
inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); }
inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); }
inline CompletedPart& WithETag(const Aws::String& value) { SetETag(value); return *this;}
inline CompletedPart& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;}
inline CompletedPart& WithETag(const char* value) { SetETag(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; }
inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; }
inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; }
inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); }
inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); }
inline CompletedPart& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;}
inline CompletedPart& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;}
inline CompletedPart& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; }
inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; }
inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; }
inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); }
inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); }
inline CompletedPart& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;}
inline CompletedPart& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;}
inline CompletedPart& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
* present if it was uploaded with the object. When you use the API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; }
inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; }
inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; }
inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); }
inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); }
inline CompletedPart& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;}
inline CompletedPart& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;}
inline CompletedPart& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; }
inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; }
inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; }
inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); }
inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); }
inline CompletedPart& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;}
inline CompletedPart& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;}
inline CompletedPart& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;}
///@}
///@{
/**
* <p>Part number that identifies the part. This is a positive integer between 1
* and 10,000.</p> <ul> <li> <p> <b>General purpose buckets</b> - In
* <code>CompleteMultipartUpload</code>, when a additional checksum (including
* <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>,
* <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) is
* applied to each part, the <code>PartNumber</code> must start at 1 and the part
* numbers must be consecutive. Otherwise, Amazon S3 generates an HTTP <code>400
* Bad Request</code> status code and an <code>InvalidPartOrder</code> error
* code.</p> </li> <li> <p> <b>Directory buckets</b> - In
* <code>CompleteMultipartUpload</code>, the <code>PartNumber</code> must start at
* 1 and the part numbers must be consecutive.</p> </li> </ul>
*/
inline int GetPartNumber() const{ return m_partNumber; }
inline bool PartNumberHasBeenSet() const { return m_partNumberHasBeenSet; }
inline void SetPartNumber(int value) { m_partNumberHasBeenSet = true; m_partNumber = value; }
inline CompletedPart& WithPartNumber(int value) { SetPartNumber(value); return *this;}
///@}
private:
Aws::String m_eTag;
bool m_eTagHasBeenSet = false;
Aws::String m_checksumCRC32;
bool m_checksumCRC32HasBeenSet = false;
Aws::String m_checksumCRC32C;
bool m_checksumCRC32CHasBeenSet = false;
Aws::String m_checksumSHA1;
bool m_checksumSHA1HasBeenSet = false;
Aws::String m_checksumSHA256;
bool m_checksumSHA256HasBeenSet = false;
int m_partNumber;
bool m_partNumberHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class CompressionType
{
NOT_SET,
NONE,
GZIP,
BZIP2
};
namespace CompressionTypeMapper
{
AWS_S3_API CompressionType GetCompressionTypeForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForCompressionType(CompressionType value);
} // namespace CompressionTypeMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,97 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>A container for describing a condition that must be met for the specified
* redirect to apply. For example, 1. If request is for pages in the
* <code>/docs</code> folder, redirect to the <code>/documents</code> folder. 2. If
* request results in HTTP error 4xx, redirect request to another host where you
* might process the error.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Condition">AWS API
* Reference</a></p>
*/
class Condition
{
public:
AWS_S3_API Condition();
AWS_S3_API Condition(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API Condition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The HTTP error code when the redirect is applied. In the event of an error,
* if the error code equals this value, then the specified redirect is applied.
* Required when parent element <code>Condition</code> is specified and sibling
* <code>KeyPrefixEquals</code> is not specified. If both are specified, then both
* must be true for the redirect to be applied.</p>
*/
inline const Aws::String& GetHttpErrorCodeReturnedEquals() const{ return m_httpErrorCodeReturnedEquals; }
inline bool HttpErrorCodeReturnedEqualsHasBeenSet() const { return m_httpErrorCodeReturnedEqualsHasBeenSet; }
inline void SetHttpErrorCodeReturnedEquals(const Aws::String& value) { m_httpErrorCodeReturnedEqualsHasBeenSet = true; m_httpErrorCodeReturnedEquals = value; }
inline void SetHttpErrorCodeReturnedEquals(Aws::String&& value) { m_httpErrorCodeReturnedEqualsHasBeenSet = true; m_httpErrorCodeReturnedEquals = std::move(value); }
inline void SetHttpErrorCodeReturnedEquals(const char* value) { m_httpErrorCodeReturnedEqualsHasBeenSet = true; m_httpErrorCodeReturnedEquals.assign(value); }
inline Condition& WithHttpErrorCodeReturnedEquals(const Aws::String& value) { SetHttpErrorCodeReturnedEquals(value); return *this;}
inline Condition& WithHttpErrorCodeReturnedEquals(Aws::String&& value) { SetHttpErrorCodeReturnedEquals(std::move(value)); return *this;}
inline Condition& WithHttpErrorCodeReturnedEquals(const char* value) { SetHttpErrorCodeReturnedEquals(value); return *this;}
///@}
///@{
/**
* <p>The object key name prefix when the redirect is applied. For example, to
* redirect requests for <code>ExamplePage.html</code>, the key prefix will be
* <code>ExamplePage.html</code>. To redirect request for all pages with the prefix
* <code>docs/</code>, the key prefix will be <code>/docs</code>, which identifies
* all objects in the <code>docs/</code> folder. Required when the parent element
* <code>Condition</code> is specified and sibling
* <code>HttpErrorCodeReturnedEquals</code> is not specified. If both conditions
* are specified, both must be true for the redirect to be applied.</p>
* <p>Replacement must be made for object keys containing special characters (such
* as carriage returns) when using XML requests. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints">
* XML related object key constraints</a>.</p>
*/
inline const Aws::String& GetKeyPrefixEquals() const{ return m_keyPrefixEquals; }
inline bool KeyPrefixEqualsHasBeenSet() const { return m_keyPrefixEqualsHasBeenSet; }
inline void SetKeyPrefixEquals(const Aws::String& value) { m_keyPrefixEqualsHasBeenSet = true; m_keyPrefixEquals = value; }
inline void SetKeyPrefixEquals(Aws::String&& value) { m_keyPrefixEqualsHasBeenSet = true; m_keyPrefixEquals = std::move(value); }
inline void SetKeyPrefixEquals(const char* value) { m_keyPrefixEqualsHasBeenSet = true; m_keyPrefixEquals.assign(value); }
inline Condition& WithKeyPrefixEquals(const Aws::String& value) { SetKeyPrefixEquals(value); return *this;}
inline Condition& WithKeyPrefixEquals(Aws::String&& value) { SetKeyPrefixEquals(std::move(value)); return *this;}
inline Condition& WithKeyPrefixEquals(const char* value) { SetKeyPrefixEquals(value); return *this;}
///@}
private:
Aws::String m_httpErrorCodeReturnedEquals;
bool m_httpErrorCodeReturnedEqualsHasBeenSet = false;
Aws::String m_keyPrefixEquals;
bool m_keyPrefixEqualsHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,225 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/ServerSideEncryption.h>
#include <aws/s3/model/RequestCharged.h>
#include <aws/s3/model/CopyObjectResultDetails.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class CopyObjectResult
{
public:
AWS_S3_API CopyObjectResult();
AWS_S3_API CopyObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API CopyObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>If the object expiration is configured, the response includes this
* header.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const Aws::String& GetExpiration() const{ return m_expiration; }
inline void SetExpiration(const Aws::String& value) { m_expiration = value; }
inline void SetExpiration(Aws::String&& value) { m_expiration = std::move(value); }
inline void SetExpiration(const char* value) { m_expiration.assign(value); }
inline CopyObjectResult& WithExpiration(const Aws::String& value) { SetExpiration(value); return *this;}
inline CopyObjectResult& WithExpiration(Aws::String&& value) { SetExpiration(std::move(value)); return *this;}
inline CopyObjectResult& WithExpiration(const char* value) { SetExpiration(value); return *this;}
///@}
///@{
/**
* <p>Version ID of the source object that was copied.</p> <p>This
* functionality is not supported when the source object is in a directory
* bucket.</p>
*/
inline const Aws::String& GetCopySourceVersionId() const{ return m_copySourceVersionId; }
inline void SetCopySourceVersionId(const Aws::String& value) { m_copySourceVersionId = value; }
inline void SetCopySourceVersionId(Aws::String&& value) { m_copySourceVersionId = std::move(value); }
inline void SetCopySourceVersionId(const char* value) { m_copySourceVersionId.assign(value); }
inline CopyObjectResult& WithCopySourceVersionId(const Aws::String& value) { SetCopySourceVersionId(value); return *this;}
inline CopyObjectResult& WithCopySourceVersionId(Aws::String&& value) { SetCopySourceVersionId(std::move(value)); return *this;}
inline CopyObjectResult& WithCopySourceVersionId(const char* value) { SetCopySourceVersionId(value); return *this;}
///@}
///@{
/**
* <p>Version ID of the newly created copy.</p> <p>This functionality is not
* supported for directory buckets.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline void SetVersionId(const Aws::String& value) { m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionId.assign(value); }
inline CopyObjectResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline CopyObjectResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline CopyObjectResult& WithVersionId(const char* value) { SetVersionId(value); return *this;}
///@}
///@{
/**
* <p>The server-side encryption algorithm used when you store this object in
* Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>,
* <code>aws:kms:dsse</code>).</p>
*/
inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; }
inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; }
inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); }
inline CopyObjectResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;}
inline CopyObjectResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;}
///@}
///@{
/**
* <p>If server-side encryption with a customer-provided encryption key was
* requested, the response will include this header to confirm the encryption
* algorithm that's used.</p> <p>This functionality is not supported for
* directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; }
inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; }
inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); }
inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); }
inline CopyObjectResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;}
inline CopyObjectResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;}
inline CopyObjectResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;}
///@}
///@{
/**
* <p>If server-side encryption with a customer-provided encryption key was
* requested, the response will include this header to provide the round-trip
* message integrity verification of the customer-provided encryption key.</p>
* <p>This functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; }
inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; }
inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); }
inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); }
inline CopyObjectResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;}
inline CopyObjectResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;}
inline CopyObjectResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;}
///@}
///@{
/**
* <p>If present, indicates the ID of the KMS key that was used for object
* encryption.</p>
*/
inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; }
inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; }
inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); }
inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); }
inline CopyObjectResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;}
inline CopyObjectResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;}
inline CopyObjectResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;}
///@}
///@{
/**
* <p>If present, indicates the Amazon Web Services KMS Encryption Context to use
* for object encryption. The value of this header is a base64-encoded UTF-8 string
* holding JSON with the encryption context key-value pairs.</p>
*/
inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; }
inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; }
inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); }
inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); }
inline CopyObjectResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;}
inline CopyObjectResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;}
inline CopyObjectResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;}
///@}
///@{
/**
* <p>Indicates whether the copied object uses an S3 Bucket Key for server-side
* encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
*/
inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; }
inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; }
inline CopyObjectResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(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 CopyObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;}
inline CopyObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Container for all response elements.</p>
*/
inline const CopyObjectResultDetails& GetCopyObjectResultDetails() const{ return m_copyObjectResultDetails; }
inline void SetCopyObjectResultDetails(const CopyObjectResultDetails& value) { m_copyObjectResultDetails = value; }
inline void SetCopyObjectResultDetails(CopyObjectResultDetails&& value) { m_copyObjectResultDetails = std::move(value); }
inline CopyObjectResult& WithCopyObjectResultDetails(const CopyObjectResultDetails& value) { SetCopyObjectResultDetails(value); return *this;}
inline CopyObjectResult& WithCopyObjectResultDetails(CopyObjectResultDetails&& value) { SetCopyObjectResultDetails(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CopyObjectResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CopyObjectResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CopyObjectResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_expiration;
Aws::String m_copySourceVersionId;
Aws::String m_versionId;
ServerSideEncryption m_serverSideEncryption;
Aws::String m_sSECustomerAlgorithm;
Aws::String m_sSECustomerKeyMD5;
Aws::String m_sSEKMSKeyId;
Aws::String m_sSEKMSEncryptionContext;
bool m_bucketKeyEnabled;
RequestCharged m_requestCharged;
CopyObjectResultDetails m_copyObjectResultDetails;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,158 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Container for all response elements.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectResult">AWS
* API Reference</a></p>
*/
class CopyObjectResultDetails
{
public:
AWS_S3_API CopyObjectResultDetails();
AWS_S3_API CopyObjectResultDetails(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CopyObjectResultDetails& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Returns the ETag of the new object. The ETag reflects only changes to the
* contents of an object, not its metadata.</p>
*/
inline const Aws::String& GetETag() const{ return m_eTag; }
inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; }
inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; }
inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); }
inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); }
inline CopyObjectResultDetails& WithETag(const Aws::String& value) { SetETag(value); return *this;}
inline CopyObjectResultDetails& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;}
inline CopyObjectResultDetails& WithETag(const char* value) { SetETag(value); return *this;}
///@}
///@{
/**
* <p>Creation date of the object.</p>
*/
inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; }
inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; }
inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; }
inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); }
inline CopyObjectResultDetails& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;}
inline CopyObjectResultDetails& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be
* present if it was uploaded with the object. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; }
inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; }
inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; }
inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); }
inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); }
inline CopyObjectResultDetails& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;}
inline CopyObjectResultDetails& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;}
inline CopyObjectResultDetails& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be
* present if it was uploaded with the object. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; }
inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; }
inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; }
inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); }
inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); }
inline CopyObjectResultDetails& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;}
inline CopyObjectResultDetails& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;}
inline CopyObjectResultDetails& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
* present if it was uploaded with the object. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; }
inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; }
inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; }
inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); }
inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); }
inline CopyObjectResultDetails& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;}
inline CopyObjectResultDetails& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;}
inline CopyObjectResultDetails& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
* present if it was uploaded with the object. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; }
inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; }
inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; }
inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); }
inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); }
inline CopyObjectResultDetails& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;}
inline CopyObjectResultDetails& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;}
inline CopyObjectResultDetails& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;}
///@}
private:
Aws::String m_eTag;
bool m_eTagHasBeenSet = false;
Aws::Utils::DateTime m_lastModified;
bool m_lastModifiedHasBeenSet = false;
Aws::String m_checksumCRC32;
bool m_checksumCRC32HasBeenSet = false;
Aws::String m_checksumCRC32C;
bool m_checksumCRC32CHasBeenSet = false;
Aws::String m_checksumSHA1;
bool m_checksumSHA1HasBeenSet = false;
Aws::String m_checksumSHA256;
bool m_checksumSHA256HasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,173 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Container for all response elements.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyPartResult">AWS
* API Reference</a></p>
*/
class CopyPartResult
{
public:
AWS_S3_API CopyPartResult();
AWS_S3_API CopyPartResult(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CopyPartResult& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Entity tag of the object.</p>
*/
inline const Aws::String& GetETag() const{ return m_eTag; }
inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; }
inline void SetETag(const Aws::String& value) { m_eTagHasBeenSet = true; m_eTag = value; }
inline void SetETag(Aws::String&& value) { m_eTagHasBeenSet = true; m_eTag = std::move(value); }
inline void SetETag(const char* value) { m_eTagHasBeenSet = true; m_eTag.assign(value); }
inline CopyPartResult& WithETag(const Aws::String& value) { SetETag(value); return *this;}
inline CopyPartResult& WithETag(Aws::String&& value) { SetETag(std::move(value)); return *this;}
inline CopyPartResult& WithETag(const char* value) { SetETag(value); return *this;}
///@}
///@{
/**
* <p>Date and time at which the object was uploaded.</p>
*/
inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; }
inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; }
inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; }
inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); }
inline CopyPartResult& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;}
inline CopyPartResult& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32() const{ return m_checksumCRC32; }
inline bool ChecksumCRC32HasBeenSet() const { return m_checksumCRC32HasBeenSet; }
inline void SetChecksumCRC32(const Aws::String& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = value; }
inline void SetChecksumCRC32(Aws::String&& value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32 = std::move(value); }
inline void SetChecksumCRC32(const char* value) { m_checksumCRC32HasBeenSet = true; m_checksumCRC32.assign(value); }
inline CopyPartResult& WithChecksumCRC32(const Aws::String& value) { SetChecksumCRC32(value); return *this;}
inline CopyPartResult& WithChecksumCRC32(Aws::String&& value) { SetChecksumCRC32(std::move(value)); return *this;}
inline CopyPartResult& WithChecksumCRC32(const char* value) { SetChecksumCRC32(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumCRC32C() const{ return m_checksumCRC32C; }
inline bool ChecksumCRC32CHasBeenSet() const { return m_checksumCRC32CHasBeenSet; }
inline void SetChecksumCRC32C(const Aws::String& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = value; }
inline void SetChecksumCRC32C(Aws::String&& value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C = std::move(value); }
inline void SetChecksumCRC32C(const char* value) { m_checksumCRC32CHasBeenSet = true; m_checksumCRC32C.assign(value); }
inline CopyPartResult& WithChecksumCRC32C(const Aws::String& value) { SetChecksumCRC32C(value); return *this;}
inline CopyPartResult& WithChecksumCRC32C(Aws::String&& value) { SetChecksumCRC32C(std::move(value)); return *this;}
inline CopyPartResult& WithChecksumCRC32C(const char* value) { SetChecksumCRC32C(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
* present if it was uploaded with the object. When you use the API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA1() const{ return m_checksumSHA1; }
inline bool ChecksumSHA1HasBeenSet() const { return m_checksumSHA1HasBeenSet; }
inline void SetChecksumSHA1(const Aws::String& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = value; }
inline void SetChecksumSHA1(Aws::String&& value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1 = std::move(value); }
inline void SetChecksumSHA1(const char* value) { m_checksumSHA1HasBeenSet = true; m_checksumSHA1.assign(value); }
inline CopyPartResult& WithChecksumSHA1(const Aws::String& value) { SetChecksumSHA1(value); return *this;}
inline CopyPartResult& WithChecksumSHA1(Aws::String&& value) { SetChecksumSHA1(std::move(value)); return *this;}
inline CopyPartResult& WithChecksumSHA1(const char* value) { SetChecksumSHA1(value); return *this;}
///@}
///@{
/**
* <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
* present if it was uploaded with the object. When you use an API operation on an
* object that was uploaded using multipart uploads, this value may not be a direct
* checksum value of the full object. Instead, it's a calculation based on the
* checksum values of each individual part. For more information about how
* checksums are calculated with multipart uploads, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetChecksumSHA256() const{ return m_checksumSHA256; }
inline bool ChecksumSHA256HasBeenSet() const { return m_checksumSHA256HasBeenSet; }
inline void SetChecksumSHA256(const Aws::String& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = value; }
inline void SetChecksumSHA256(Aws::String&& value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256 = std::move(value); }
inline void SetChecksumSHA256(const char* value) { m_checksumSHA256HasBeenSet = true; m_checksumSHA256.assign(value); }
inline CopyPartResult& WithChecksumSHA256(const Aws::String& value) { SetChecksumSHA256(value); return *this;}
inline CopyPartResult& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;}
inline CopyPartResult& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;}
///@}
private:
Aws::String m_eTag;
bool m_eTagHasBeenSet = false;
Aws::Utils::DateTime m_lastModified;
bool m_lastModifiedHasBeenSet = false;
Aws::String m_checksumCRC32;
bool m_checksumCRC32HasBeenSet = false;
Aws::String m_checksumCRC32C;
bool m_checksumCRC32CHasBeenSet = false;
Aws::String m_checksumSHA1;
bool m_checksumSHA1HasBeenSet = false;
Aws::String m_checksumSHA256;
bool m_checksumSHA256HasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,102 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/BucketLocationConstraint.h>
#include <aws/s3/model/LocationInfo.h>
#include <aws/s3/model/BucketInfo.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>The configuration information for the bucket.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration">AWS
* API Reference</a></p>
*/
class CreateBucketConfiguration
{
public:
AWS_S3_API CreateBucketConfiguration();
AWS_S3_API CreateBucketConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API CreateBucketConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Specifies the Region where the bucket will be created. You might choose a
* Region to optimize latency, minimize costs, or address regulatory requirements.
* For example, if you reside in Europe, you will probably find it advantageous to
* create buckets in the Europe (Ireland) Region. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">Accessing
* a bucket</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If you don't specify a
* Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by
* default.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const BucketLocationConstraint& GetLocationConstraint() const{ return m_locationConstraint; }
inline bool LocationConstraintHasBeenSet() const { return m_locationConstraintHasBeenSet; }
inline void SetLocationConstraint(const BucketLocationConstraint& value) { m_locationConstraintHasBeenSet = true; m_locationConstraint = value; }
inline void SetLocationConstraint(BucketLocationConstraint&& value) { m_locationConstraintHasBeenSet = true; m_locationConstraint = std::move(value); }
inline CreateBucketConfiguration& WithLocationConstraint(const BucketLocationConstraint& value) { SetLocationConstraint(value); return *this;}
inline CreateBucketConfiguration& WithLocationConstraint(BucketLocationConstraint&& value) { SetLocationConstraint(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specifies the location where the bucket will be created.</p> <p>For directory
* buckets, the location type is Availability Zone.</p> <p>This
* functionality is only supported by directory buckets.</p>
*/
inline const LocationInfo& GetLocation() const{ return m_location; }
inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; }
inline void SetLocation(const LocationInfo& value) { m_locationHasBeenSet = true; m_location = value; }
inline void SetLocation(LocationInfo&& value) { m_locationHasBeenSet = true; m_location = std::move(value); }
inline CreateBucketConfiguration& WithLocation(const LocationInfo& value) { SetLocation(value); return *this;}
inline CreateBucketConfiguration& WithLocation(LocationInfo&& value) { SetLocation(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specifies the information about the bucket that will be created.</p>
* <p>This functionality is only supported by directory buckets.</p>
*/
inline const BucketInfo& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const BucketInfo& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(BucketInfo&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline CreateBucketConfiguration& WithBucket(const BucketInfo& value) { SetBucket(value); return *this;}
inline CreateBucketConfiguration& WithBucket(BucketInfo&& value) { SetBucket(std::move(value)); return *this;}
///@}
private:
BucketLocationConstraint m_locationConstraint;
bool m_locationConstraintHasBeenSet = false;
LocationInfo m_location;
bool m_locationHasBeenSet = false;
BucketInfo m_bucket;
bool m_bucketHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,258 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/s3/model/BucketCannedACL.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/CreateBucketConfiguration.h>
#include <aws/s3/model/ObjectOwnership.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class CreateBucketRequest : public S3Request
{
public:
AWS_S3_API CreateBucketRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateBucket"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The canned ACL to apply to the bucket.</p> <p>This functionality is
* not supported for directory buckets.</p>
*/
inline const BucketCannedACL& GetACL() const{ return m_aCL; }
inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; }
inline void SetACL(const BucketCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; }
inline void SetACL(BucketCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); }
inline CreateBucketRequest& WithACL(const BucketCannedACL& value) { SetACL(value); return *this;}
inline CreateBucketRequest& WithACL(BucketCannedACL&& value) { SetACL(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The name of the bucket to create.</p> <p> <b>General purpose buckets</b> -
* For information about bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html">Bucket
* naming rules</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Directory
* buckets </b> - When you use this operation with a directory bucket, you must use
* path-style requests in the format
* <code>https://s3express-control.<i>region_code</i>.amazonaws.com/<i>bucket-name</i>
* </code>. Virtual-hosted-style requests aren't supported. Directory bucket names
* must be unique in the chosen Availability Zone. Bucket names must also follow
* the format <code> <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for
* example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For
* information about bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i> </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline CreateBucketRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline CreateBucketRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline CreateBucketRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The configuration information for the bucket.</p>
*/
inline const CreateBucketConfiguration& GetCreateBucketConfiguration() const{ return m_createBucketConfiguration; }
inline bool CreateBucketConfigurationHasBeenSet() const { return m_createBucketConfigurationHasBeenSet; }
inline void SetCreateBucketConfiguration(const CreateBucketConfiguration& value) { m_createBucketConfigurationHasBeenSet = true; m_createBucketConfiguration = value; }
inline void SetCreateBucketConfiguration(CreateBucketConfiguration&& value) { m_createBucketConfigurationHasBeenSet = true; m_createBucketConfiguration = std::move(value); }
inline CreateBucketRequest& WithCreateBucketConfiguration(const CreateBucketConfiguration& value) { SetCreateBucketConfiguration(value); return *this;}
inline CreateBucketRequest& WithCreateBucketConfiguration(CreateBucketConfiguration&& value) { SetCreateBucketConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Allows grantee the read, write, read ACP, and write ACP permissions on the
* bucket.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; }
inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; }
inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; }
inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); }
inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); }
inline CreateBucketRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;}
inline CreateBucketRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;}
inline CreateBucketRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;}
///@}
///@{
/**
* <p>Allows grantee to list the objects in the bucket.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetGrantRead() const{ return m_grantRead; }
inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; }
inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; }
inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); }
inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); }
inline CreateBucketRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;}
inline CreateBucketRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;}
inline CreateBucketRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;}
///@}
///@{
/**
* <p>Allows grantee to read the bucket ACL.</p> <p>This functionality is
* not supported for directory buckets.</p>
*/
inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; }
inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; }
inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; }
inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); }
inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); }
inline CreateBucketRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;}
inline CreateBucketRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;}
inline CreateBucketRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;}
///@}
///@{
/**
* <p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and
* object owners of existing objects, also allows deletions and overwrites of those
* objects.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const Aws::String& GetGrantWrite() const{ return m_grantWrite; }
inline bool GrantWriteHasBeenSet() const { return m_grantWriteHasBeenSet; }
inline void SetGrantWrite(const Aws::String& value) { m_grantWriteHasBeenSet = true; m_grantWrite = value; }
inline void SetGrantWrite(Aws::String&& value) { m_grantWriteHasBeenSet = true; m_grantWrite = std::move(value); }
inline void SetGrantWrite(const char* value) { m_grantWriteHasBeenSet = true; m_grantWrite.assign(value); }
inline CreateBucketRequest& WithGrantWrite(const Aws::String& value) { SetGrantWrite(value); return *this;}
inline CreateBucketRequest& WithGrantWrite(Aws::String&& value) { SetGrantWrite(std::move(value)); return *this;}
inline CreateBucketRequest& WithGrantWrite(const char* value) { SetGrantWrite(value); return *this;}
///@}
///@{
/**
* <p>Allows grantee to write the ACL for the applicable bucket.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; }
inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; }
inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; }
inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); }
inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); }
inline CreateBucketRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;}
inline CreateBucketRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;}
inline CreateBucketRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether you want S3 Object Lock to be enabled for the new
* bucket.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline bool GetObjectLockEnabledForBucket() const{ return m_objectLockEnabledForBucket; }
inline bool ObjectLockEnabledForBucketHasBeenSet() const { return m_objectLockEnabledForBucketHasBeenSet; }
inline void SetObjectLockEnabledForBucket(bool value) { m_objectLockEnabledForBucketHasBeenSet = true; m_objectLockEnabledForBucket = value; }
inline CreateBucketRequest& WithObjectLockEnabledForBucket(bool value) { SetObjectLockEnabledForBucket(value); return *this;}
///@}
///@{
inline const ObjectOwnership& GetObjectOwnership() const{ return m_objectOwnership; }
inline bool ObjectOwnershipHasBeenSet() const { return m_objectOwnershipHasBeenSet; }
inline void SetObjectOwnership(const ObjectOwnership& value) { m_objectOwnershipHasBeenSet = true; m_objectOwnership = value; }
inline void SetObjectOwnership(ObjectOwnership&& value) { m_objectOwnershipHasBeenSet = true; m_objectOwnership = std::move(value); }
inline CreateBucketRequest& WithObjectOwnership(const ObjectOwnership& value) { SetObjectOwnership(value); return *this;}
inline CreateBucketRequest& WithObjectOwnership(ObjectOwnership&& value) { SetObjectOwnership(std::move(value)); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline CreateBucketRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline CreateBucketRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline CreateBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline CreateBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CreateBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CreateBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline CreateBucketRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CreateBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CreateBucketRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
BucketCannedACL m_aCL;
bool m_aCLHasBeenSet = false;
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
CreateBucketConfiguration m_createBucketConfiguration;
bool m_createBucketConfigurationHasBeenSet = false;
Aws::String m_grantFullControl;
bool m_grantFullControlHasBeenSet = false;
Aws::String m_grantRead;
bool m_grantReadHasBeenSet = false;
Aws::String m_grantReadACP;
bool m_grantReadACPHasBeenSet = false;
Aws::String m_grantWrite;
bool m_grantWriteHasBeenSet = false;
Aws::String m_grantWriteACP;
bool m_grantWriteACPHasBeenSet = false;
bool m_objectLockEnabledForBucket;
bool m_objectLockEnabledForBucketHasBeenSet = false;
ObjectOwnership m_objectOwnership;
bool m_objectOwnershipHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class CreateBucketResult
{
public:
AWS_S3_API CreateBucketResult();
AWS_S3_API CreateBucketResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API CreateBucketResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>A forward slash followed by the name of the bucket.</p>
*/
inline const Aws::String& GetLocation() const{ return m_location; }
inline void SetLocation(const Aws::String& value) { m_location = value; }
inline void SetLocation(Aws::String&& value) { m_location = std::move(value); }
inline void SetLocation(const char* value) { m_location.assign(value); }
inline CreateBucketResult& WithLocation(const Aws::String& value) { SetLocation(value); return *this;}
inline CreateBucketResult& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;}
inline CreateBucketResult& WithLocation(const char* value) { SetLocation(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateBucketResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateBucketResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateBucketResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_location;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,860 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/s3/model/ObjectCannedACL.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/s3/model/ServerSideEncryption.h>
#include <aws/s3/model/StorageClass.h>
#include <aws/s3/model/RequestPayer.h>
#include <aws/s3/model/ObjectLockMode.h>
#include <aws/s3/model/ObjectLockLegalHoldStatus.h>
#include <aws/s3/model/ChecksumAlgorithm.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class CreateMultipartUploadRequest : public S3Request
{
public:
AWS_S3_API CreateMultipartUploadRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateMultipartUpload"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The canned ACL to apply to the object. Amazon S3 supports a set of predefined
* ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of
* grantees and permissions. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
* ACL</a> in the <i>Amazon S3 User Guide</i>.</p> <p>By default, all objects are
* private. Only the owner has full access control. When uploading an object, you
* can grant access permissions to individual Amazon Web Services accounts or to
* predefined groups defined by Amazon S3. These permissions are then added to the
* access control list (ACL) on the new object. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
* ACLs</a>. One way to grant the permissions using the request headers is to
* specify a canned ACL with the <code>x-amz-acl</code> request header.</p>
* <ul> <li> <p>This functionality is not supported for directory buckets.</p>
* </li> <li> <p>This functionality is not supported for Amazon S3 on Outposts.</p>
* </li> </ul>
*/
inline const ObjectCannedACL& GetACL() const{ return m_aCL; }
inline bool ACLHasBeenSet() const { return m_aCLHasBeenSet; }
inline void SetACL(const ObjectCannedACL& value) { m_aCLHasBeenSet = true; m_aCL = value; }
inline void SetACL(ObjectCannedACL&& value) { m_aCLHasBeenSet = true; m_aCL = std::move(value); }
inline CreateMultipartUploadRequest& WithACL(const ObjectCannedACL& value) { SetACL(value); return *this;}
inline CreateMultipartUploadRequest& WithACL(ObjectCannedACL&& value) { SetACL(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The name of the bucket where the multipart upload is initiated and where the
* object is uploaded.</p> <p> <b>Directory buckets</b> - When you use this
* operation with a directory bucket, you must use virtual-hosted-style requests in
* the format <code>
* <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>.
* Path-style requests are not supported. Directory bucket names must be unique in
* the chosen Availability Zone. Bucket names must follow the format <code>
* <i>bucket_base_name</i>--<i>az-id</i>--x-s3</code> (for example, <code>
* <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about
* bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access
* points</b> - When you use this action with an access point, you must provide the
* alias of the access point in place of the bucket name or specify the access
* point ARN. When using the access point ARN, you must direct requests to the
* access point hostname. The access point hostname takes the form
* <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
* access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Access
* points and Object Lambda access points are not supported by directory
* buckets.</p> <p> <b>S3 on Outposts</b> - 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 <code>
* <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>.
* 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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What
* is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline CreateMultipartUploadRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline CreateMultipartUploadRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>Specifies caching behavior along the request/reply chain.</p>
*/
inline const Aws::String& GetCacheControl() const{ return m_cacheControl; }
inline bool CacheControlHasBeenSet() const { return m_cacheControlHasBeenSet; }
inline void SetCacheControl(const Aws::String& value) { m_cacheControlHasBeenSet = true; m_cacheControl = value; }
inline void SetCacheControl(Aws::String&& value) { m_cacheControlHasBeenSet = true; m_cacheControl = std::move(value); }
inline void SetCacheControl(const char* value) { m_cacheControlHasBeenSet = true; m_cacheControl.assign(value); }
inline CreateMultipartUploadRequest& WithCacheControl(const Aws::String& value) { SetCacheControl(value); return *this;}
inline CreateMultipartUploadRequest& WithCacheControl(Aws::String&& value) { SetCacheControl(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithCacheControl(const char* value) { SetCacheControl(value); return *this;}
///@}
///@{
/**
* <p>Specifies presentational information for the object.</p>
*/
inline const Aws::String& GetContentDisposition() const{ return m_contentDisposition; }
inline bool ContentDispositionHasBeenSet() const { return m_contentDispositionHasBeenSet; }
inline void SetContentDisposition(const Aws::String& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = value; }
inline void SetContentDisposition(Aws::String&& value) { m_contentDispositionHasBeenSet = true; m_contentDisposition = std::move(value); }
inline void SetContentDisposition(const char* value) { m_contentDispositionHasBeenSet = true; m_contentDisposition.assign(value); }
inline CreateMultipartUploadRequest& WithContentDisposition(const Aws::String& value) { SetContentDisposition(value); return *this;}
inline CreateMultipartUploadRequest& WithContentDisposition(Aws::String&& value) { SetContentDisposition(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithContentDisposition(const char* value) { SetContentDisposition(value); return *this;}
///@}
///@{
/**
* <p>Specifies what content encodings have been applied to the object and thus
* what decoding mechanisms must be applied to obtain the media-type referenced by
* the Content-Type header field.</p> <p>For directory buckets, only the
* <code>aws-chunked</code> value is supported in this header field.</p>
*/
inline const Aws::String& GetContentEncoding() const{ return m_contentEncoding; }
inline bool ContentEncodingHasBeenSet() const { return m_contentEncodingHasBeenSet; }
inline void SetContentEncoding(const Aws::String& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = value; }
inline void SetContentEncoding(Aws::String&& value) { m_contentEncodingHasBeenSet = true; m_contentEncoding = std::move(value); }
inline void SetContentEncoding(const char* value) { m_contentEncodingHasBeenSet = true; m_contentEncoding.assign(value); }
inline CreateMultipartUploadRequest& WithContentEncoding(const Aws::String& value) { SetContentEncoding(value); return *this;}
inline CreateMultipartUploadRequest& WithContentEncoding(Aws::String&& value) { SetContentEncoding(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithContentEncoding(const char* value) { SetContentEncoding(value); return *this;}
///@}
///@{
/**
* <p>The language that the content is in.</p>
*/
inline const Aws::String& GetContentLanguage() const{ return m_contentLanguage; }
inline bool ContentLanguageHasBeenSet() const { return m_contentLanguageHasBeenSet; }
inline void SetContentLanguage(const Aws::String& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = value; }
inline void SetContentLanguage(Aws::String&& value) { m_contentLanguageHasBeenSet = true; m_contentLanguage = std::move(value); }
inline void SetContentLanguage(const char* value) { m_contentLanguageHasBeenSet = true; m_contentLanguage.assign(value); }
inline CreateMultipartUploadRequest& WithContentLanguage(const Aws::String& value) { SetContentLanguage(value); return *this;}
inline CreateMultipartUploadRequest& WithContentLanguage(Aws::String&& value) { SetContentLanguage(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithContentLanguage(const char* value) { SetContentLanguage(value); return *this;}
///@}
///@{
/**
* <p>A standard MIME type describing the format of the object data.</p>
*/
inline const Aws::String& GetContentType() const{ return m_contentType; }
inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; }
inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; }
inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); }
inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); }
inline CreateMultipartUploadRequest& WithContentType(const Aws::String& value) { SetContentType(value); return *this;}
inline CreateMultipartUploadRequest& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithContentType(const char* value) { SetContentType(value); return *this;}
///@}
///@{
/**
* <p>The date and time at which the object is no longer cacheable.</p>
*/
inline const Aws::Utils::DateTime& GetExpires() const{ return m_expires; }
inline bool ExpiresHasBeenSet() const { return m_expiresHasBeenSet; }
inline void SetExpires(const Aws::Utils::DateTime& value) { m_expiresHasBeenSet = true; m_expires = value; }
inline void SetExpires(Aws::Utils::DateTime&& value) { m_expiresHasBeenSet = true; m_expires = std::move(value); }
inline CreateMultipartUploadRequest& WithExpires(const Aws::Utils::DateTime& value) { SetExpires(value); return *this;}
inline CreateMultipartUploadRequest& WithExpires(Aws::Utils::DateTime&& value) { SetExpires(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specify access permissions explicitly to give the grantee READ, READ_ACP, and
* WRITE_ACP permissions on the object.</p> <p>By default, all objects are private.
* Only the owner has full access control. When uploading an object, you can use
* this header to explicitly grant access permissions to specific Amazon Web
* Services accounts or groups. This header maps to specific permissions that
* Amazon S3 supports in an ACL. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
* Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You
* specify each grantee as a type=value pair, where the type is one of the
* following:</p> <ul> <li> <p> <code>id</code> if the value specified is the
* canonical user ID of an Amazon Web Services account</p> </li> <li> <p>
* <code>uri</code> if you are granting permissions to a predefined group</p>
* </li> <li> <p> <code>emailAddress</code> if the value specified is the email
* address of an Amazon Web Services account</p> <p>Using email addresses to
* specify a grantee is only supported in the following Amazon Web Services
* Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N.
* California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific
* (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia
* Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South
* America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported
* Regions and endpoints, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions
* and Endpoints</a> in the Amazon Web Services General Reference.</p>
* </li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header
* grants the Amazon Web Services accounts identified by account IDs permissions to
* read object data and its metadata:</p> <p> <code>x-amz-grant-read:
* id="11112222333", id="444455556666" </code> </p> <ul> <li> <p>This
* functionality is not supported for directory buckets.</p> </li> <li> <p>This
* functionality is not supported for Amazon S3 on Outposts.</p> </li> </ul>
*
*/
inline const Aws::String& GetGrantFullControl() const{ return m_grantFullControl; }
inline bool GrantFullControlHasBeenSet() const { return m_grantFullControlHasBeenSet; }
inline void SetGrantFullControl(const Aws::String& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = value; }
inline void SetGrantFullControl(Aws::String&& value) { m_grantFullControlHasBeenSet = true; m_grantFullControl = std::move(value); }
inline void SetGrantFullControl(const char* value) { m_grantFullControlHasBeenSet = true; m_grantFullControl.assign(value); }
inline CreateMultipartUploadRequest& WithGrantFullControl(const Aws::String& value) { SetGrantFullControl(value); return *this;}
inline CreateMultipartUploadRequest& WithGrantFullControl(Aws::String&& value) { SetGrantFullControl(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithGrantFullControl(const char* value) { SetGrantFullControl(value); return *this;}
///@}
///@{
/**
* <p>Specify access permissions explicitly to allow grantee to read the object
* data and its metadata.</p> <p>By default, all objects are private. Only the
* owner has full access control. When uploading an object, you can use this header
* to explicitly grant access permissions to specific Amazon Web Services accounts
* or groups. This header maps to specific permissions that Amazon S3 supports in
* an ACL. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
* Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You
* specify each grantee as a type=value pair, where the type is one of the
* following:</p> <ul> <li> <p> <code>id</code> if the value specified is the
* canonical user ID of an Amazon Web Services account</p> </li> <li> <p>
* <code>uri</code> if you are granting permissions to a predefined group</p>
* </li> <li> <p> <code>emailAddress</code> if the value specified is the email
* address of an Amazon Web Services account</p> <p>Using email addresses to
* specify a grantee is only supported in the following Amazon Web Services
* Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N.
* California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific
* (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia
* Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South
* America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported
* Regions and endpoints, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions
* and Endpoints</a> in the Amazon Web Services General Reference.</p>
* </li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header
* grants the Amazon Web Services accounts identified by account IDs permissions to
* read object data and its metadata:</p> <p> <code>x-amz-grant-read:
* id="11112222333", id="444455556666" </code> </p> <ul> <li> <p>This
* functionality is not supported for directory buckets.</p> </li> <li> <p>This
* functionality is not supported for Amazon S3 on Outposts.</p> </li> </ul>
*
*/
inline const Aws::String& GetGrantRead() const{ return m_grantRead; }
inline bool GrantReadHasBeenSet() const { return m_grantReadHasBeenSet; }
inline void SetGrantRead(const Aws::String& value) { m_grantReadHasBeenSet = true; m_grantRead = value; }
inline void SetGrantRead(Aws::String&& value) { m_grantReadHasBeenSet = true; m_grantRead = std::move(value); }
inline void SetGrantRead(const char* value) { m_grantReadHasBeenSet = true; m_grantRead.assign(value); }
inline CreateMultipartUploadRequest& WithGrantRead(const Aws::String& value) { SetGrantRead(value); return *this;}
inline CreateMultipartUploadRequest& WithGrantRead(Aws::String&& value) { SetGrantRead(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithGrantRead(const char* value) { SetGrantRead(value); return *this;}
///@}
///@{
/**
* <p>Specify access permissions explicitly to allows grantee to read the object
* ACL.</p> <p>By default, all objects are private. Only the owner has full access
* control. When uploading an object, you can use this header to explicitly grant
* access permissions to specific Amazon Web Services accounts or groups. This
* header maps to specific permissions that Amazon S3 supports in an ACL. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
* Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You
* specify each grantee as a type=value pair, where the type is one of the
* following:</p> <ul> <li> <p> <code>id</code> if the value specified is the
* canonical user ID of an Amazon Web Services account</p> </li> <li> <p>
* <code>uri</code> if you are granting permissions to a predefined group</p>
* </li> <li> <p> <code>emailAddress</code> if the value specified is the email
* address of an Amazon Web Services account</p> <p>Using email addresses to
* specify a grantee is only supported in the following Amazon Web Services
* Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N.
* California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific
* (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia
* Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South
* America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported
* Regions and endpoints, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions
* and Endpoints</a> in the Amazon Web Services General Reference.</p>
* </li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header
* grants the Amazon Web Services accounts identified by account IDs permissions to
* read object data and its metadata:</p> <p> <code>x-amz-grant-read:
* id="11112222333", id="444455556666" </code> </p> <ul> <li> <p>This
* functionality is not supported for directory buckets.</p> </li> <li> <p>This
* functionality is not supported for Amazon S3 on Outposts.</p> </li> </ul>
*
*/
inline const Aws::String& GetGrantReadACP() const{ return m_grantReadACP; }
inline bool GrantReadACPHasBeenSet() const { return m_grantReadACPHasBeenSet; }
inline void SetGrantReadACP(const Aws::String& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = value; }
inline void SetGrantReadACP(Aws::String&& value) { m_grantReadACPHasBeenSet = true; m_grantReadACP = std::move(value); }
inline void SetGrantReadACP(const char* value) { m_grantReadACPHasBeenSet = true; m_grantReadACP.assign(value); }
inline CreateMultipartUploadRequest& WithGrantReadACP(const Aws::String& value) { SetGrantReadACP(value); return *this;}
inline CreateMultipartUploadRequest& WithGrantReadACP(Aws::String&& value) { SetGrantReadACP(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithGrantReadACP(const char* value) { SetGrantReadACP(value); return *this;}
///@}
///@{
/**
* <p>Specify access permissions explicitly to allows grantee to allow grantee to
* write the ACL for the applicable object.</p> <p>By default, all objects are
* private. Only the owner has full access control. When uploading an object, you
* can use this header to explicitly grant access permissions to specific Amazon
* Web Services accounts or groups. This header maps to specific permissions that
* Amazon S3 supports in an ACL. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
* Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You
* specify each grantee as a type=value pair, where the type is one of the
* following:</p> <ul> <li> <p> <code>id</code> if the value specified is the
* canonical user ID of an Amazon Web Services account</p> </li> <li> <p>
* <code>uri</code> if you are granting permissions to a predefined group</p>
* </li> <li> <p> <code>emailAddress</code> if the value specified is the email
* address of an Amazon Web Services account</p> <p>Using email addresses to
* specify a grantee is only supported in the following Amazon Web Services
* Regions: </p> <ul> <li> <p>US East (N. Virginia)</p> </li> <li> <p>US West (N.
* California)</p> </li> <li> <p> US West (Oregon)</p> </li> <li> <p> Asia Pacific
* (Singapore)</p> </li> <li> <p>Asia Pacific (Sydney)</p> </li> <li> <p>Asia
* Pacific (Tokyo)</p> </li> <li> <p>Europe (Ireland)</p> </li> <li> <p>South
* America (São Paulo)</p> </li> </ul> <p>For a list of all the Amazon S3 supported
* Regions and endpoints, see <a
* href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions
* and Endpoints</a> in the Amazon Web Services General Reference.</p>
* </li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header
* grants the Amazon Web Services accounts identified by account IDs permissions to
* read object data and its metadata:</p> <p> <code>x-amz-grant-read:
* id="11112222333", id="444455556666" </code> </p> <ul> <li> <p>This
* functionality is not supported for directory buckets.</p> </li> <li> <p>This
* functionality is not supported for Amazon S3 on Outposts.</p> </li> </ul>
*
*/
inline const Aws::String& GetGrantWriteACP() const{ return m_grantWriteACP; }
inline bool GrantWriteACPHasBeenSet() const { return m_grantWriteACPHasBeenSet; }
inline void SetGrantWriteACP(const Aws::String& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = value; }
inline void SetGrantWriteACP(Aws::String&& value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP = std::move(value); }
inline void SetGrantWriteACP(const char* value) { m_grantWriteACPHasBeenSet = true; m_grantWriteACP.assign(value); }
inline CreateMultipartUploadRequest& WithGrantWriteACP(const Aws::String& value) { SetGrantWriteACP(value); return *this;}
inline CreateMultipartUploadRequest& WithGrantWriteACP(Aws::String&& value) { SetGrantWriteACP(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithGrantWriteACP(const char* value) { SetGrantWriteACP(value); return *this;}
///@}
///@{
/**
* <p>Object key for which the multipart upload is to be initiated.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline CreateMultipartUploadRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline CreateMultipartUploadRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>A map of metadata to store with the object in S3.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetMetadata() const{ return m_metadata; }
inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
inline void SetMetadata(const Aws::Map<Aws::String, Aws::String>& value) { m_metadataHasBeenSet = true; m_metadata = value; }
inline void SetMetadata(Aws::Map<Aws::String, Aws::String>&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); }
inline CreateMultipartUploadRequest& WithMetadata(const Aws::Map<Aws::String, Aws::String>& value) { SetMetadata(value); return *this;}
inline CreateMultipartUploadRequest& WithMetadata(Aws::Map<Aws::String, Aws::String>&& value) { SetMetadata(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; }
inline CreateMultipartUploadRequest& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; }
inline CreateMultipartUploadRequest& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; }
inline CreateMultipartUploadRequest& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; }
inline CreateMultipartUploadRequest& AddMetadata(const char* key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; }
inline CreateMultipartUploadRequest& AddMetadata(Aws::String&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; }
inline CreateMultipartUploadRequest& AddMetadata(const char* key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; }
///@}
///@{
/**
* <p>The server-side encryption algorithm used when you store this object in
* Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p> <ul>
* <li> <p> <b>Directory buckets </b> - For directory buckets, there are only two
* supported options for server-side encryption: server-side encryption with Amazon
* S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with
* KMS keys (SSE-KMS) (<code>aws:kms</code>). We recommend that the bucket's
* default encryption uses the desired encryption configuration and you don't
* override the bucket default encryption in your <code>CreateSession</code>
* requests or <code>PUT</code> object requests. Then, new objects are
* automatically encrypted with the desired encryption settings. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting
* data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>. For
* more information about the encryption overriding behaviors in directory buckets,
* see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html">Specifying
* server-side encryption with KMS for new object uploads</a>. </p> <p>In the Zonal
* endpoint API calls (except <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>
* and <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>)
* using the REST API, the encryption request headers must match the encryption
* settings that are specified in the <code>CreateSession</code> request. You can't
* override the values of the encryption settings
* (<code>x-amz-server-side-encryption</code>,
* <code>x-amz-server-side-encryption-aws-kms-key-id</code>,
* <code>x-amz-server-side-encryption-context</code>, and
* <code>x-amz-server-side-encryption-bucket-key-enabled</code>) that are specified
* in the <code>CreateSession</code> request. You don't need to explicitly specify
* these encryption settings values in Zonal endpoint API calls, and Amazon S3 will
* use the encryption settings values from the <code>CreateSession</code> request
* to protect new objects in the directory bucket. </p> <p>When you use the
* CLI or the Amazon Web Services SDKs, for <code>CreateSession</code>, the session
* token refreshes automatically to avoid service interruptions when a session
* expires. The CLI or the Amazon Web Services SDKs use the bucket's default
* encryption configuration for the <code>CreateSession</code> request. It's not
* supported to override the encryption settings values in the
* <code>CreateSession</code> request. So in the Zonal endpoint API calls (except
* <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>
* and <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>),
* the encryption request headers must match the default encryption configuration
* of the directory bucket. </p> </li> </ul>
*/
inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; }
inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = value; }
inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::move(value); }
inline CreateMultipartUploadRequest& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;}
inline CreateMultipartUploadRequest& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;}
///@}
///@{
/**
* <p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created
* objects. The STANDARD storage class provides high durability and high
* availability. Depending on performance needs, you can specify a different
* Storage Class. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
* Classes</a> in the <i>Amazon S3 User Guide</i>.</p> <ul> <li> <p>For
* directory buckets, only the S3 Express One Zone storage class is supported to
* store newly created objects.</p> </li> <li> <p>Amazon S3 on Outposts only uses
* the OUTPOSTS Storage Class.</p> </li> </ul>
*/
inline const StorageClass& GetStorageClass() const{ return m_storageClass; }
inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); }
inline CreateMultipartUploadRequest& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;}
inline CreateMultipartUploadRequest& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;}
///@}
///@{
/**
* <p>If the bucket is configured as a website, redirects requests for this object
* to another object in the same bucket or to an external URL. Amazon S3 stores the
* value of this header in the object metadata.</p> <p>This functionality is
* not supported for directory buckets.</p>
*/
inline const Aws::String& GetWebsiteRedirectLocation() const{ return m_websiteRedirectLocation; }
inline bool WebsiteRedirectLocationHasBeenSet() const { return m_websiteRedirectLocationHasBeenSet; }
inline void SetWebsiteRedirectLocation(const Aws::String& value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation = value; }
inline void SetWebsiteRedirectLocation(Aws::String&& value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation = std::move(value); }
inline void SetWebsiteRedirectLocation(const char* value) { m_websiteRedirectLocationHasBeenSet = true; m_websiteRedirectLocation.assign(value); }
inline CreateMultipartUploadRequest& WithWebsiteRedirectLocation(const Aws::String& value) { SetWebsiteRedirectLocation(value); return *this;}
inline CreateMultipartUploadRequest& WithWebsiteRedirectLocation(Aws::String&& value) { SetWebsiteRedirectLocation(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithWebsiteRedirectLocation(const char* value) { SetWebsiteRedirectLocation(value); return *this;}
///@}
///@{
/**
* <p>Specifies the algorithm to use when encrypting the object (for example,
* AES256).</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; }
inline bool SSECustomerAlgorithmHasBeenSet() const { return m_sSECustomerAlgorithmHasBeenSet; }
inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = value; }
inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm = std::move(value); }
inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithmHasBeenSet = true; m_sSECustomerAlgorithm.assign(value); }
inline CreateMultipartUploadRequest& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;}
inline CreateMultipartUploadRequest& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;}
///@}
///@{
/**
* <p>Specifies the customer-provided encryption key for Amazon S3 to use in
* encrypting data. This value is used to store the object and then it is
* discarded; Amazon S3 does not store the encryption key. The key must be
* appropriate for use with the algorithm specified in the
* <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p>
* <p>This functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerKey() const{ return m_sSECustomerKey; }
inline bool SSECustomerKeyHasBeenSet() const { return m_sSECustomerKeyHasBeenSet; }
inline void SetSSECustomerKey(const Aws::String& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = value; }
inline void SetSSECustomerKey(Aws::String&& value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey = std::move(value); }
inline void SetSSECustomerKey(const char* value) { m_sSECustomerKeyHasBeenSet = true; m_sSECustomerKey.assign(value); }
inline CreateMultipartUploadRequest& WithSSECustomerKey(const Aws::String& value) { SetSSECustomerKey(value); return *this;}
inline CreateMultipartUploadRequest& WithSSECustomerKey(Aws::String&& value) { SetSSECustomerKey(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithSSECustomerKey(const char* value) { SetSSECustomerKey(value); return *this;}
///@}
///@{
/**
* <p>Specifies the 128-bit MD5 digest of the customer-provided encryption key
* according to RFC 1321. Amazon S3 uses this header for a message integrity check
* to ensure that the encryption key was transmitted without error.</p>
* <p>This functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; }
inline bool SSECustomerKeyMD5HasBeenSet() const { return m_sSECustomerKeyMD5HasBeenSet; }
inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = value; }
inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5 = std::move(value); }
inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5HasBeenSet = true; m_sSECustomerKeyMD5.assign(value); }
inline CreateMultipartUploadRequest& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;}
inline CreateMultipartUploadRequest& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;}
///@}
///@{
/**
* <p>Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object
* encryption. If the KMS key doesn't exist in the same account that's issuing the
* command, you must use the full Key ARN not the Key ID.</p> <p> <b>General
* purpose buckets</b> - If you specify <code>x-amz-server-side-encryption</code>
* with <code>aws:kms</code> or <code>aws:kms:dsse</code>, this header specifies
* the ID (Key ID, Key ARN, or Key Alias) of the KMS key to use. If you specify
* <code>x-amz-server-side-encryption:aws:kms</code> or
* <code>x-amz-server-side-encryption:aws:kms:dsse</code>, but do not provide
* <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the
* Amazon Web Services managed key (<code>aws/s3</code>) to protect the data.</p>
* <p> <b>Directory buckets</b> - If you specify
* <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, the <code>
* x-amz-server-side-encryption-aws-kms-key-id</code> header is implicitly assigned
* the ID of the KMS symmetric encryption customer managed key that's configured
* for your directory bucket's default encryption setting. If you want to specify
* the <code> x-amz-server-side-encryption-aws-kms-key-id</code> header explicitly,
* you can only specify it with the ID (Key ID or Key ARN) of the KMS customer
* managed key that's configured for your directory bucket's default encryption
* setting. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use
* the key ID or key ARN. The key alias format of the KMS key isn't supported. Your
* SSE-KMS configuration can only support 1 <a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer
* managed key</a> per directory bucket for the lifetime of the bucket. The <a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon
* Web Services managed key</a> (<code>aws/s3</code>) isn't supported. </p>
*/
inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; }
inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; }
inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; }
inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); }
inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); }
inline CreateMultipartUploadRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;}
inline CreateMultipartUploadRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;}
///@}
///@{
/**
* <p>Specifies the Amazon Web Services KMS Encryption Context to use for object
* encryption. The value of this header is a Base64-encoded string of a UTF-8
* encoded JSON, which contains the encryption context as key-value pairs.</p> <p>
* <b>Directory buckets</b> - You can optionally provide an explicit encryption
* context value. The value must match the default encryption context - the bucket
* Amazon Resource Name (ARN). An additional encryption context value is not
* supported. </p>
*/
inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; }
inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; }
inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = value; }
inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = std::move(value); }
inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext.assign(value); }
inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;}
inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
* with server-side encryption using Key Management Service (KMS) keys
* (SSE-KMS).</p> <p> <b>General purpose buckets</b> - Setting this header to
* <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption
* with SSE-KMS. Also, specifying this header with a PUT action doesn't affect
* bucket-level settings for S3 Bucket Key.</p> <p> <b>Directory buckets</b> - S3
* Bucket Keys are always enabled for <code>GET</code> and <code>PUT</code>
* operations in a directory bucket and cant be disabled. S3 Bucket Keys aren't
* supported, when you copy SSE-KMS encrypted objects from general purpose buckets
* to directory buckets, from directory buckets to general purpose buckets, or
* between directory buckets, through <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>,
* <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>,
* <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops">the
* Copy operation in Batch Operations</a>, or <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job">the
* import jobs</a>. In this case, Amazon S3 makes a call to KMS every time a copy
* request is made for a KMS-encrypted object.</p>
*/
inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; }
inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; }
inline CreateMultipartUploadRequest& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;}
///@}
///@{
inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; }
inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; }
inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); }
inline CreateMultipartUploadRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;}
inline CreateMultipartUploadRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The tag-set for the object. The tag-set must be encoded as URL Query
* parameters.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const Aws::String& GetTagging() const{ return m_tagging; }
inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; }
inline void SetTagging(const Aws::String& value) { m_taggingHasBeenSet = true; m_tagging = value; }
inline void SetTagging(Aws::String&& value) { m_taggingHasBeenSet = true; m_tagging = std::move(value); }
inline void SetTagging(const char* value) { m_taggingHasBeenSet = true; m_tagging.assign(value); }
inline CreateMultipartUploadRequest& WithTagging(const Aws::String& value) { SetTagging(value); return *this;}
inline CreateMultipartUploadRequest& WithTagging(Aws::String&& value) { SetTagging(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithTagging(const char* value) { SetTagging(value); return *this;}
///@}
///@{
/**
* <p>Specifies the Object Lock mode that you want to apply to the uploaded
* object.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const ObjectLockMode& GetObjectLockMode() const{ return m_objectLockMode; }
inline bool ObjectLockModeHasBeenSet() const { return m_objectLockModeHasBeenSet; }
inline void SetObjectLockMode(const ObjectLockMode& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = value; }
inline void SetObjectLockMode(ObjectLockMode&& value) { m_objectLockModeHasBeenSet = true; m_objectLockMode = std::move(value); }
inline CreateMultipartUploadRequest& WithObjectLockMode(const ObjectLockMode& value) { SetObjectLockMode(value); return *this;}
inline CreateMultipartUploadRequest& WithObjectLockMode(ObjectLockMode&& value) { SetObjectLockMode(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specifies the date and time when you want the Object Lock to expire.</p>
* <p>This functionality is not supported for directory buckets.</p>
*/
inline const Aws::Utils::DateTime& GetObjectLockRetainUntilDate() const{ return m_objectLockRetainUntilDate; }
inline bool ObjectLockRetainUntilDateHasBeenSet() const { return m_objectLockRetainUntilDateHasBeenSet; }
inline void SetObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = value; }
inline void SetObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { m_objectLockRetainUntilDateHasBeenSet = true; m_objectLockRetainUntilDate = std::move(value); }
inline CreateMultipartUploadRequest& WithObjectLockRetainUntilDate(const Aws::Utils::DateTime& value) { SetObjectLockRetainUntilDate(value); return *this;}
inline CreateMultipartUploadRequest& WithObjectLockRetainUntilDate(Aws::Utils::DateTime&& value) { SetObjectLockRetainUntilDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specifies whether you want to apply a legal hold to the uploaded object.</p>
* <p>This functionality is not supported for directory buckets.</p>
*/
inline const ObjectLockLegalHoldStatus& GetObjectLockLegalHoldStatus() const{ return m_objectLockLegalHoldStatus; }
inline bool ObjectLockLegalHoldStatusHasBeenSet() const { return m_objectLockLegalHoldStatusHasBeenSet; }
inline void SetObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = value; }
inline void SetObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { m_objectLockLegalHoldStatusHasBeenSet = true; m_objectLockLegalHoldStatus = std::move(value); }
inline CreateMultipartUploadRequest& WithObjectLockLegalHoldStatus(const ObjectLockLegalHoldStatus& value) { SetObjectLockLegalHoldStatus(value); return *this;}
inline CreateMultipartUploadRequest& WithObjectLockLegalHoldStatus(ObjectLockLegalHoldStatus&& value) { SetObjectLockLegalHoldStatus(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline CreateMultipartUploadRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline CreateMultipartUploadRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
/**
* <p>Indicates the algorithm that you want Amazon S3 to use to create the checksum
* for the object. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; }
inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; }
inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; }
inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); }
inline CreateMultipartUploadRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;}
inline CreateMultipartUploadRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline CreateMultipartUploadRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline CreateMultipartUploadRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CreateMultipartUploadRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
ObjectCannedACL m_aCL;
bool m_aCLHasBeenSet = false;
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_cacheControl;
bool m_cacheControlHasBeenSet = false;
Aws::String m_contentDisposition;
bool m_contentDispositionHasBeenSet = false;
Aws::String m_contentEncoding;
bool m_contentEncodingHasBeenSet = false;
Aws::String m_contentLanguage;
bool m_contentLanguageHasBeenSet = false;
Aws::String m_contentType;
bool m_contentTypeHasBeenSet = false;
Aws::Utils::DateTime m_expires;
bool m_expiresHasBeenSet = false;
Aws::String m_grantFullControl;
bool m_grantFullControlHasBeenSet = false;
Aws::String m_grantRead;
bool m_grantReadHasBeenSet = false;
Aws::String m_grantReadACP;
bool m_grantReadACPHasBeenSet = false;
Aws::String m_grantWriteACP;
bool m_grantWriteACPHasBeenSet = false;
Aws::String m_key;
bool m_keyHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_metadata;
bool m_metadataHasBeenSet = false;
ServerSideEncryption m_serverSideEncryption;
bool m_serverSideEncryptionHasBeenSet = false;
StorageClass m_storageClass;
bool m_storageClassHasBeenSet = false;
Aws::String m_websiteRedirectLocation;
bool m_websiteRedirectLocationHasBeenSet = false;
Aws::String m_sSECustomerAlgorithm;
bool m_sSECustomerAlgorithmHasBeenSet = false;
Aws::String m_sSECustomerKey;
bool m_sSECustomerKeyHasBeenSet = false;
Aws::String m_sSECustomerKeyMD5;
bool m_sSECustomerKeyMD5HasBeenSet = false;
Aws::String m_sSEKMSKeyId;
bool m_sSEKMSKeyIdHasBeenSet = false;
Aws::String m_sSEKMSEncryptionContext;
bool m_sSEKMSEncryptionContextHasBeenSet = false;
bool m_bucketKeyEnabled;
bool m_bucketKeyEnabledHasBeenSet = false;
RequestPayer m_requestPayer;
bool m_requestPayerHasBeenSet = false;
Aws::String m_tagging;
bool m_taggingHasBeenSet = false;
ObjectLockMode m_objectLockMode;
bool m_objectLockModeHasBeenSet = false;
Aws::Utils::DateTime m_objectLockRetainUntilDate;
bool m_objectLockRetainUntilDateHasBeenSet = false;
ObjectLockLegalHoldStatus m_objectLockLegalHoldStatus;
bool m_objectLockLegalHoldStatusHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
ChecksumAlgorithm m_checksumAlgorithm;
bool m_checksumAlgorithmHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,264 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/ServerSideEncryption.h>
#include <aws/s3/model/RequestCharged.h>
#include <aws/s3/model/ChecksumAlgorithm.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class CreateMultipartUploadResult
{
public:
AWS_S3_API CreateMultipartUploadResult();
AWS_S3_API CreateMultipartUploadResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API CreateMultipartUploadResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>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, the response includes this header. The header
* indicates when the initiated multipart upload becomes eligible for an abort
* operation. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">
* Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>
* in the <i>Amazon S3 User Guide</i>.</p> <p>The response also includes the
* <code>x-amz-abort-rule-id</code> header that provides the ID of the lifecycle
* configuration rule that defines the abort action.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline const Aws::Utils::DateTime& GetAbortDate() const{ return m_abortDate; }
inline void SetAbortDate(const Aws::Utils::DateTime& value) { m_abortDate = value; }
inline void SetAbortDate(Aws::Utils::DateTime&& value) { m_abortDate = std::move(value); }
inline CreateMultipartUploadResult& WithAbortDate(const Aws::Utils::DateTime& value) { SetAbortDate(value); return *this;}
inline CreateMultipartUploadResult& WithAbortDate(Aws::Utils::DateTime&& value) { SetAbortDate(std::move(value)); return *this;}
///@}
///@{
/**
* <p>This header is returned along with the <code>x-amz-abort-date</code> header.
* It identifies the applicable lifecycle configuration rule that defines the
* action to abort incomplete multipart uploads.</p> <p>This functionality
* is not supported for directory buckets.</p>
*/
inline const Aws::String& GetAbortRuleId() const{ return m_abortRuleId; }
inline void SetAbortRuleId(const Aws::String& value) { m_abortRuleId = value; }
inline void SetAbortRuleId(Aws::String&& value) { m_abortRuleId = std::move(value); }
inline void SetAbortRuleId(const char* value) { m_abortRuleId.assign(value); }
inline CreateMultipartUploadResult& WithAbortRuleId(const Aws::String& value) { SetAbortRuleId(value); return *this;}
inline CreateMultipartUploadResult& WithAbortRuleId(Aws::String&& value) { SetAbortRuleId(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithAbortRuleId(const char* value) { SetAbortRuleId(value); return *this;}
///@}
///@{
/**
* <p>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.</p> <p>Access
* points are not supported by directory buckets.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline void SetBucket(const Aws::String& value) { m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucket.assign(value); }
inline CreateMultipartUploadResult& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline CreateMultipartUploadResult& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>Object key for which the multipart upload was initiated.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline void SetKey(const Aws::String& value) { m_key = value; }
inline void SetKey(Aws::String&& value) { m_key = std::move(value); }
inline void SetKey(const char* value) { m_key.assign(value); }
inline CreateMultipartUploadResult& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline CreateMultipartUploadResult& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>ID for the initiated multipart upload.</p>
*/
inline const Aws::String& GetUploadId() const{ return m_uploadId; }
inline void SetUploadId(const Aws::String& value) { m_uploadId = value; }
inline void SetUploadId(Aws::String&& value) { m_uploadId = std::move(value); }
inline void SetUploadId(const char* value) { m_uploadId.assign(value); }
inline CreateMultipartUploadResult& WithUploadId(const Aws::String& value) { SetUploadId(value); return *this;}
inline CreateMultipartUploadResult& WithUploadId(Aws::String&& value) { SetUploadId(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithUploadId(const char* value) { SetUploadId(value); return *this;}
///@}
///@{
/**
* <p>The server-side encryption algorithm used when you store this object in
* Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
*/
inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; }
inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; }
inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); }
inline CreateMultipartUploadResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;}
inline CreateMultipartUploadResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;}
///@}
///@{
/**
* <p>If server-side encryption with a customer-provided encryption key was
* requested, the response will include this header to confirm the encryption
* algorithm that's used.</p> <p>This functionality is not supported for
* directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerAlgorithm() const{ return m_sSECustomerAlgorithm; }
inline void SetSSECustomerAlgorithm(const Aws::String& value) { m_sSECustomerAlgorithm = value; }
inline void SetSSECustomerAlgorithm(Aws::String&& value) { m_sSECustomerAlgorithm = std::move(value); }
inline void SetSSECustomerAlgorithm(const char* value) { m_sSECustomerAlgorithm.assign(value); }
inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(const Aws::String& value) { SetSSECustomerAlgorithm(value); return *this;}
inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(Aws::String&& value) { SetSSECustomerAlgorithm(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithSSECustomerAlgorithm(const char* value) { SetSSECustomerAlgorithm(value); return *this;}
///@}
///@{
/**
* <p>If server-side encryption with a customer-provided encryption key was
* requested, the response will include this header to provide the round-trip
* message integrity verification of the customer-provided encryption key.</p>
* <p>This functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetSSECustomerKeyMD5() const{ return m_sSECustomerKeyMD5; }
inline void SetSSECustomerKeyMD5(const Aws::String& value) { m_sSECustomerKeyMD5 = value; }
inline void SetSSECustomerKeyMD5(Aws::String&& value) { m_sSECustomerKeyMD5 = std::move(value); }
inline void SetSSECustomerKeyMD5(const char* value) { m_sSECustomerKeyMD5.assign(value); }
inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(const Aws::String& value) { SetSSECustomerKeyMD5(value); return *this;}
inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(Aws::String&& value) { SetSSECustomerKeyMD5(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithSSECustomerKeyMD5(const char* value) { SetSSECustomerKeyMD5(value); return *this;}
///@}
///@{
/**
* <p>If present, indicates the ID of the KMS key that was used for object
* encryption.</p>
*/
inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; }
inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; }
inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); }
inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); }
inline CreateMultipartUploadResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;}
inline CreateMultipartUploadResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;}
///@}
///@{
/**
* <p>If present, indicates the Amazon Web Services KMS Encryption Context to use
* for object encryption. The value of this header is a Base64-encoded string of a
* UTF-8 encoded JSON, which contains the encryption context as key-value
* pairs.</p>
*/
inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; }
inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; }
inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); }
inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); }
inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;}
inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;}
///@}
///@{
/**
* <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side
* encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
*/
inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; }
inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; }
inline CreateMultipartUploadResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(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 CreateMultipartUploadResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;}
inline CreateMultipartUploadResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The algorithm that was used to create a checksum of the object.</p>
*/
inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; }
inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithm = value; }
inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithm = std::move(value); }
inline CreateMultipartUploadResult& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;}
inline CreateMultipartUploadResult& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateMultipartUploadResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateMultipartUploadResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateMultipartUploadResult& WithRequestId(const char* value) { SetRequestId(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;
ServerSideEncryption m_serverSideEncryption;
Aws::String m_sSECustomerAlgorithm;
Aws::String m_sSECustomerKeyMD5;
Aws::String m_sSEKMSKeyId;
Aws::String m_sSEKMSEncryptionContext;
bool m_bucketKeyEnabled;
RequestCharged m_requestCharged;
ChecksumAlgorithm m_checksumAlgorithm;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,223 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/s3/model/SessionMode.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/ServerSideEncryption.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class CreateSessionRequest : public S3Request
{
public:
AWS_S3_API CreateSessionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateSession"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>Specifies the mode of the session that will be created, either
* <code>ReadWrite</code> or <code>ReadOnly</code>. By default, a
* <code>ReadWrite</code> session is created. A <code>ReadWrite</code> session is
* capable of executing all the Zonal endpoint API operations on a directory
* bucket. A <code>ReadOnly</code> session is constrained to execute the following
* Zonal endpoint API operations: <code>GetObject</code>, <code>HeadObject</code>,
* <code>ListObjectsV2</code>, <code>GetObjectAttributes</code>,
* <code>ListParts</code>, and <code>ListMultipartUploads</code>.</p>
*/
inline const SessionMode& GetSessionMode() const{ return m_sessionMode; }
inline bool SessionModeHasBeenSet() const { return m_sessionModeHasBeenSet; }
inline void SetSessionMode(const SessionMode& value) { m_sessionModeHasBeenSet = true; m_sessionMode = value; }
inline void SetSessionMode(SessionMode&& value) { m_sessionModeHasBeenSet = true; m_sessionMode = std::move(value); }
inline CreateSessionRequest& WithSessionMode(const SessionMode& value) { SetSessionMode(value); return *this;}
inline CreateSessionRequest& WithSessionMode(SessionMode&& value) { SetSessionMode(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The name of the bucket that you create a session for.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline CreateSessionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline CreateSessionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline CreateSessionRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The server-side encryption algorithm to use when you store objects in the
* directory bucket.</p> <p>For directory buckets, there are only two supported
* options for server-side encryption: server-side encryption with Amazon S3
* managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS
* keys (SSE-KMS) (<code>aws:kms</code>). By default, Amazon S3 encrypts data with
* SSE-S3. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting
* data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; }
inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = value; }
inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::move(value); }
inline CreateSessionRequest& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;}
inline CreateSessionRequest& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;}
///@}
///@{
/**
* <p>If you specify <code>x-amz-server-side-encryption</code> with
* <code>aws:kms</code>, you must specify the <code>
* x-amz-server-side-encryption-aws-kms-key-id</code> header with the ID (Key ID or
* Key ARN) of the KMS symmetric encryption customer managed key to use. Otherwise,
* you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key
* ARN. The key alias format of the KMS key isn't supported. Also, if the KMS key
* doesn't exist in the same account that't issuing the command, you must use the
* full Key ARN not the Key ID. </p> <p>Your SSE-KMS configuration can only support
* 1 <a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer
* managed key</a> per directory bucket for the lifetime of the bucket. The <a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon
* Web Services managed key</a> (<code>aws/s3</code>) isn't supported. </p>
*/
inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; }
inline bool SSEKMSKeyIdHasBeenSet() const { return m_sSEKMSKeyIdHasBeenSet; }
inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = value; }
inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId = std::move(value); }
inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyIdHasBeenSet = true; m_sSEKMSKeyId.assign(value); }
inline CreateSessionRequest& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;}
inline CreateSessionRequest& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;}
inline CreateSessionRequest& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;}
///@}
///@{
/**
* <p>Specifies the Amazon Web Services KMS Encryption Context as an additional
* encryption context to use for object encryption. The value of this header is a
* Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption
* context as key-value pairs. This value is stored as object metadata and
* automatically gets passed on to Amazon Web Services KMS for future
* <code>GetObject</code> operations on this object.</p> <p> <b>General purpose
* buckets</b> - This value must be explicitly added during <code>CopyObject</code>
* operations if you want an additional encryption context for your object. For
* more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context">Encryption
* context</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Directory buckets</b>
* - You can optionally provide an explicit encryption context value. The value
* must match the default encryption context - the bucket Amazon Resource Name
* (ARN). An additional encryption context value is not supported. </p>
*/
inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; }
inline bool SSEKMSEncryptionContextHasBeenSet() const { return m_sSEKMSEncryptionContextHasBeenSet; }
inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = value; }
inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext = std::move(value); }
inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContextHasBeenSet = true; m_sSEKMSEncryptionContext.assign(value); }
inline CreateSessionRequest& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;}
inline CreateSessionRequest& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;}
inline CreateSessionRequest& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
* with server-side encryption using KMS keys (SSE-KMS).</p> <p>S3 Bucket Keys are
* always enabled for <code>GET</code> and <code>PUT</code> operations in a
* directory bucket and cant be disabled. S3 Bucket Keys aren't supported, when
* you copy SSE-KMS encrypted objects from general purpose buckets to directory
* buckets, from directory buckets to general purpose buckets, or between directory
* buckets, through <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>,
* <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>,
* <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops">the
* Copy operation in Batch Operations</a>, or <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job">the
* import jobs</a>. In this case, Amazon S3 makes a call to KMS every time a copy
* request is made for a KMS-encrypted object.</p>
*/
inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; }
inline bool BucketKeyEnabledHasBeenSet() const { return m_bucketKeyEnabledHasBeenSet; }
inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabledHasBeenSet = true; m_bucketKeyEnabled = value; }
inline CreateSessionRequest& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline CreateSessionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline CreateSessionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline CreateSessionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline CreateSessionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CreateSessionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CreateSessionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline CreateSessionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CreateSessionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CreateSessionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
SessionMode m_sessionMode;
bool m_sessionModeHasBeenSet = false;
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
ServerSideEncryption m_serverSideEncryption;
bool m_serverSideEncryptionHasBeenSet = false;
Aws::String m_sSEKMSKeyId;
bool m_sSEKMSKeyIdHasBeenSet = false;
Aws::String m_sSEKMSEncryptionContext;
bool m_sSEKMSEncryptionContextHasBeenSet = false;
bool m_bucketKeyEnabled;
bool m_bucketKeyEnabledHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,130 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/ServerSideEncryption.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/SessionCredentials.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class CreateSessionResult
{
public:
AWS_S3_API CreateSessionResult();
AWS_S3_API CreateSessionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API CreateSessionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>The server-side encryption algorithm used when you store objects in the
* directory bucket.</p>
*/
inline const ServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; }
inline void SetServerSideEncryption(const ServerSideEncryption& value) { m_serverSideEncryption = value; }
inline void SetServerSideEncryption(ServerSideEncryption&& value) { m_serverSideEncryption = std::move(value); }
inline CreateSessionResult& WithServerSideEncryption(const ServerSideEncryption& value) { SetServerSideEncryption(value); return *this;}
inline CreateSessionResult& WithServerSideEncryption(ServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;}
///@}
///@{
/**
* <p>If you specify <code>x-amz-server-side-encryption</code> with
* <code>aws:kms</code>, this header indicates the ID of the KMS symmetric
* encryption customer managed key that was used for object encryption.</p>
*/
inline const Aws::String& GetSSEKMSKeyId() const{ return m_sSEKMSKeyId; }
inline void SetSSEKMSKeyId(const Aws::String& value) { m_sSEKMSKeyId = value; }
inline void SetSSEKMSKeyId(Aws::String&& value) { m_sSEKMSKeyId = std::move(value); }
inline void SetSSEKMSKeyId(const char* value) { m_sSEKMSKeyId.assign(value); }
inline CreateSessionResult& WithSSEKMSKeyId(const Aws::String& value) { SetSSEKMSKeyId(value); return *this;}
inline CreateSessionResult& WithSSEKMSKeyId(Aws::String&& value) { SetSSEKMSKeyId(std::move(value)); return *this;}
inline CreateSessionResult& WithSSEKMSKeyId(const char* value) { SetSSEKMSKeyId(value); return *this;}
///@}
///@{
/**
* <p>If present, indicates the Amazon Web Services KMS Encryption Context to use
* for object encryption. The value of this header is a Base64-encoded string of a
* UTF-8 encoded JSON, which contains the encryption context as key-value pairs.
* This value is stored as object metadata and automatically gets passed on to
* Amazon Web Services KMS for future <code>GetObject</code> operations on this
* object.</p>
*/
inline const Aws::String& GetSSEKMSEncryptionContext() const{ return m_sSEKMSEncryptionContext; }
inline void SetSSEKMSEncryptionContext(const Aws::String& value) { m_sSEKMSEncryptionContext = value; }
inline void SetSSEKMSEncryptionContext(Aws::String&& value) { m_sSEKMSEncryptionContext = std::move(value); }
inline void SetSSEKMSEncryptionContext(const char* value) { m_sSEKMSEncryptionContext.assign(value); }
inline CreateSessionResult& WithSSEKMSEncryptionContext(const Aws::String& value) { SetSSEKMSEncryptionContext(value); return *this;}
inline CreateSessionResult& WithSSEKMSEncryptionContext(Aws::String&& value) { SetSSEKMSEncryptionContext(std::move(value)); return *this;}
inline CreateSessionResult& WithSSEKMSEncryptionContext(const char* value) { SetSSEKMSEncryptionContext(value); return *this;}
///@}
///@{
/**
* <p>Indicates whether to use an S3 Bucket Key for server-side encryption with KMS
* keys (SSE-KMS).</p>
*/
inline bool GetBucketKeyEnabled() const{ return m_bucketKeyEnabled; }
inline void SetBucketKeyEnabled(bool value) { m_bucketKeyEnabled = value; }
inline CreateSessionResult& WithBucketKeyEnabled(bool value) { SetBucketKeyEnabled(value); return *this;}
///@}
///@{
/**
* <p>The established temporary security credentials for the created session.</p>
*/
inline const SessionCredentials& GetCredentials() const{ return m_credentials; }
inline void SetCredentials(const SessionCredentials& value) { m_credentials = value; }
inline void SetCredentials(SessionCredentials&& value) { m_credentials = std::move(value); }
inline CreateSessionResult& WithCredentials(const SessionCredentials& value) { SetCredentials(value); return *this;}
inline CreateSessionResult& WithCredentials(SessionCredentials&& value) { SetCredentials(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline CreateSessionResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline CreateSessionResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline CreateSessionResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
ServerSideEncryption m_serverSideEncryption;
Aws::String m_sSEKMSKeyId;
Aws::String m_sSEKMSEncryptionContext;
bool m_bucketKeyEnabled;
SessionCredentials m_credentials;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class DataRedundancy
{
NOT_SET,
SingleAvailabilityZone
};
namespace DataRedundancyMapper
{
AWS_S3_API DataRedundancy GetDataRedundancyForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForDataRedundancy(DataRedundancy value);
} // namespace DataRedundancyMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,95 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/ObjectLockRetentionMode.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>The container element for optionally specifying the default Object Lock
* retention settings for new objects placed in the specified bucket.</p>
* <ul> <li> <p>The <code>DefaultRetention</code> settings require both a mode and
* a period.</p> </li> <li> <p>The <code>DefaultRetention</code> period can be
* either <code>Days</code> or <code>Years</code> but you must select one. You
* cannot specify <code>Days</code> and <code>Years</code> at the same time.</p>
* </li> </ul> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DefaultRetention">AWS
* API Reference</a></p>
*/
class DefaultRetention
{
public:
AWS_S3_API DefaultRetention();
AWS_S3_API DefaultRetention(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API DefaultRetention& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The default Object Lock retention mode you want to apply to new objects
* placed in the specified bucket. Must be used with either <code>Days</code> or
* <code>Years</code>.</p>
*/
inline const ObjectLockRetentionMode& GetMode() const{ return m_mode; }
inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; }
inline void SetMode(const ObjectLockRetentionMode& value) { m_modeHasBeenSet = true; m_mode = value; }
inline void SetMode(ObjectLockRetentionMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); }
inline DefaultRetention& WithMode(const ObjectLockRetentionMode& value) { SetMode(value); return *this;}
inline DefaultRetention& WithMode(ObjectLockRetentionMode&& value) { SetMode(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The number of days that you want to specify for the default retention period.
* Must be used with <code>Mode</code>.</p>
*/
inline int GetDays() const{ return m_days; }
inline bool DaysHasBeenSet() const { return m_daysHasBeenSet; }
inline void SetDays(int value) { m_daysHasBeenSet = true; m_days = value; }
inline DefaultRetention& WithDays(int value) { SetDays(value); return *this;}
///@}
///@{
/**
* <p>The number of years that you want to specify for the default retention
* period. Must be used with <code>Mode</code>.</p>
*/
inline int GetYears() const{ return m_years; }
inline bool YearsHasBeenSet() const { return m_yearsHasBeenSet; }
inline void SetYears(int value) { m_yearsHasBeenSet = true; m_years = value; }
inline DefaultRetention& WithYears(int value) { SetYears(value); return *this;}
///@}
private:
ObjectLockRetentionMode m_mode;
bool m_modeHasBeenSet = false;
int m_days;
bool m_daysHasBeenSet = false;
int m_years;
bool m_yearsHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,80 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/s3/model/ObjectIdentifier.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Container for the objects to delete.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Delete">AWS API
* Reference</a></p>
*/
class Delete
{
public:
AWS_S3_API Delete();
AWS_S3_API Delete(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API Delete& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The object to delete.</p> <p> <b>Directory buckets</b> - For directory
* buckets, an object that's composed entirely of whitespace characters is not
* supported by the <code>DeleteObjects</code> API operation. The request will
* receive a <code>400 Bad Request</code> error and none of the objects in the
* request will be deleted.</p>
*/
inline const Aws::Vector<ObjectIdentifier>& GetObjects() const{ return m_objects; }
inline bool ObjectsHasBeenSet() const { return m_objectsHasBeenSet; }
inline void SetObjects(const Aws::Vector<ObjectIdentifier>& value) { m_objectsHasBeenSet = true; m_objects = value; }
inline void SetObjects(Aws::Vector<ObjectIdentifier>&& value) { m_objectsHasBeenSet = true; m_objects = std::move(value); }
inline Delete& WithObjects(const Aws::Vector<ObjectIdentifier>& value) { SetObjects(value); return *this;}
inline Delete& WithObjects(Aws::Vector<ObjectIdentifier>&& value) { SetObjects(std::move(value)); return *this;}
inline Delete& AddObjects(const ObjectIdentifier& value) { m_objectsHasBeenSet = true; m_objects.push_back(value); return *this; }
inline Delete& AddObjects(ObjectIdentifier&& value) { m_objectsHasBeenSet = true; m_objects.push_back(std::move(value)); return *this; }
///@}
///@{
/**
* <p>Element to enable quiet mode for the request. When you add this element, you
* must set its value to <code>true</code>.</p>
*/
inline bool GetQuiet() const{ return m_quiet; }
inline bool QuietHasBeenSet() const { return m_quietHasBeenSet; }
inline void SetQuiet(bool value) { m_quietHasBeenSet = true; m_quiet = value; }
inline Delete& WithQuiet(bool value) { SetQuiet(value); return *this;}
///@}
private:
Aws::Vector<ObjectIdentifier> m_objects;
bool m_objectsHasBeenSet = false;
bool m_quiet;
bool m_quietHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketAnalyticsConfigurationRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketAnalyticsConfigurationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketAnalyticsConfiguration"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The name of the bucket from which an analytics configuration is deleted.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketAnalyticsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketAnalyticsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketAnalyticsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The ID that identifies the analytics configuration.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline DeleteBucketAnalyticsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;}
inline DeleteBucketAnalyticsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline DeleteBucketAnalyticsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,110 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketCorsRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketCorsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketCors"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>Specifies the bucket whose <code>cors</code> configuration is being
* deleted.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketCorsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketCorsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketCorsRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketCorsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketCorsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketCorsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketCorsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketCorsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,122 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketEncryptionRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketEncryptionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketEncryption"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The name of the bucket containing the server-side encryption configuration to
* delete.</p> <p> <b>Directory buckets </b> - When you use this operation with a
* directory bucket, you must use path-style requests in the format
* <code>https://s3express-control.<i>region_code</i>.amazonaws.com/<i>bucket-name</i>
* </code>. Virtual-hosted-style requests aren't supported. Directory bucket names
* must be unique in the chosen Availability Zone. Bucket names must also follow
* the format <code> <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for
* example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For
* information about bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i> </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketEncryptionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketEncryptionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketEncryptionRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
* <p>For directory buckets, this header is not supported in this API operation. If
* you specify this header, the request fails with the HTTP status code <code>501
* Not Implemented</code>.</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketEncryptionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketEncryptionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketEncryptionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,106 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketIntelligentTieringConfigurationRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketIntelligentTieringConfigurationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketIntelligentTieringConfiguration"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The name of the Amazon S3 bucket whose configuration you want to modify or
* retrieve.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketIntelligentTieringConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketIntelligentTieringConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketIntelligentTieringConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The ID used to identify the S3 Intelligent-Tiering configuration.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline DeleteBucketIntelligentTieringConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;}
inline DeleteBucketIntelligentTieringConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline DeleteBucketIntelligentTieringConfigurationRequest& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketIntelligentTieringConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketIntelligentTieringConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketIntelligentTieringConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,126 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketInventoryConfigurationRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketInventoryConfigurationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketInventoryConfiguration"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The name of the bucket containing the inventory configuration to delete.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketInventoryConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketInventoryConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketInventoryConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The ID used to identify the inventory configuration.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline DeleteBucketInventoryConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;}
inline DeleteBucketInventoryConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline DeleteBucketInventoryConfigurationRequest& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketInventoryConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketInventoryConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketInventoryConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketInventoryConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,109 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketLifecycleRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketLifecycleRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketLifecycle"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket name of the lifecycle to delete.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketLifecycleRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketLifecycleRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketLifecycleRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketLifecycleRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketLifecycleRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketLifecycleRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketLifecycleRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,128 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketMetricsConfigurationRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketMetricsConfigurationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketMetricsConfiguration"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The name of the bucket containing the metrics configuration to delete.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketMetricsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketMetricsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketMetricsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The ID used to identify the metrics configuration. The ID has a 64 character
* limit and can only contain letters, numbers, periods, dashes, and
* underscores.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline DeleteBucketMetricsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;}
inline DeleteBucketMetricsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline DeleteBucketMetricsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketMetricsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketMetricsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketMetricsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketMetricsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,110 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketOwnershipControlsRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketOwnershipControlsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketOwnershipControls"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The Amazon S3 bucket whose <code>OwnershipControls</code> you want to delete.
* </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketOwnershipControlsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketOwnershipControlsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketOwnershipControlsRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketOwnershipControlsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketOwnershipControlsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketOwnershipControlsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketOwnershipControlsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,122 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketPolicyRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketPolicyRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketPolicy"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket name.</p> <p> <b>Directory buckets </b> - When you use this
* operation with a directory bucket, you must use path-style requests in the
* format
* <code>https://s3express-control.<i>region_code</i>.amazonaws.com/<i>bucket-name</i>
* </code>. Virtual-hosted-style requests aren't supported. Directory bucket names
* must be unique in the chosen Availability Zone. Bucket names must also follow
* the format <code> <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for
* example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For
* information about bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i> </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketPolicyRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketPolicyRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketPolicyRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
* <p>For directory buckets, this header is not supported in this API operation. If
* you specify this header, the request fails with the HTTP status code <code>501
* Not Implemented</code>.</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketPolicyRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketPolicyRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketPolicyRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketPolicyRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,109 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketReplicationRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketReplicationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketReplication"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p> The bucket name. </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketReplicationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketReplicationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketReplicationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketReplicationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketReplicationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketReplicationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketReplicationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,122 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucket"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>Specifies the bucket being deleted.</p> <p> <b>Directory buckets </b> - When
* you use this operation with a directory bucket, you must use path-style requests
* in the format
* <code>https://s3express-control.<i>region_code</i>.amazonaws.com/<i>bucket-name</i>
* </code>. Virtual-hosted-style requests aren't supported. Directory bucket names
* must be unique in the chosen Availability Zone. Bucket names must also follow
* the format <code> <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for
* example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For
* information about bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i> </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
* <p>For directory buckets, this header is not supported in this API operation. If
* you specify this header, the request fails with the HTTP status code <code>501
* Not Implemented</code>.</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,109 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketTaggingRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketTaggingRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketTagging"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket that has the tag set to be removed.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketTaggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketTaggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketTaggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,109 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteBucketWebsiteRequest : public S3Request
{
public:
AWS_S3_API DeleteBucketWebsiteRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteBucketWebsite"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket name for which you want to remove the website configuration. </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteBucketWebsiteRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteBucketWebsiteRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteBucketWebsiteRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteBucketWebsiteRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteBucketWebsiteRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteBucketWebsiteRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteBucketWebsiteRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/Owner.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Information about the delete marker.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerEntry">AWS
* API Reference</a></p>
*/
class DeleteMarkerEntry
{
public:
AWS_S3_API DeleteMarkerEntry();
AWS_S3_API DeleteMarkerEntry(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API DeleteMarkerEntry& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The account that created the delete marker.&gt;</p>
*/
inline const Owner& GetOwner() const{ return m_owner; }
inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
inline void SetOwner(const Owner& value) { m_ownerHasBeenSet = true; m_owner = value; }
inline void SetOwner(Owner&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); }
inline DeleteMarkerEntry& WithOwner(const Owner& value) { SetOwner(value); return *this;}
inline DeleteMarkerEntry& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The object key.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline DeleteMarkerEntry& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline DeleteMarkerEntry& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline DeleteMarkerEntry& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>Version ID of an object.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); }
inline DeleteMarkerEntry& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline DeleteMarkerEntry& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline DeleteMarkerEntry& WithVersionId(const char* value) { SetVersionId(value); return *this;}
///@}
///@{
/**
* <p>Specifies whether the object is (true) or is not (false) the latest version
* of an object.</p>
*/
inline bool GetIsLatest() const{ return m_isLatest; }
inline bool IsLatestHasBeenSet() const { return m_isLatestHasBeenSet; }
inline void SetIsLatest(bool value) { m_isLatestHasBeenSet = true; m_isLatest = value; }
inline DeleteMarkerEntry& WithIsLatest(bool value) { SetIsLatest(value); return *this;}
///@}
///@{
/**
* <p>Date and time when the object was last modified.</p>
*/
inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; }
inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; }
inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; }
inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); }
inline DeleteMarkerEntry& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;}
inline DeleteMarkerEntry& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;}
///@}
private:
Owner m_owner;
bool m_ownerHasBeenSet = false;
Aws::String m_key;
bool m_keyHasBeenSet = false;
Aws::String m_versionId;
bool m_versionIdHasBeenSet = false;
bool m_isLatest;
bool m_isLatestHasBeenSet = false;
Aws::Utils::DateTime m_lastModified;
bool m_lastModifiedHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,75 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/DeleteMarkerReplicationStatus.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies whether Amazon S3 replicates delete markers. If you specify a
* <code>Filter</code> in your replication configuration, you must also include a
* <code>DeleteMarkerReplication</code> element. If your <code>Filter</code>
* includes a <code>Tag</code> element, the <code>DeleteMarkerReplication</code>
* <code>Status</code> must be set to Disabled, because Amazon S3 does not support
* replicating delete markers for tag-based rules. For an example configuration,
* see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config">Basic
* Rule Configuration</a>. </p> <p>For more information about delete marker
* replication, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html">Basic
* Rule Configuration</a>. </p> <p>If you are using an earlier version of
* the replication configuration, Amazon S3 handles replication of delete markers
* differently. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations">Backward
* Compatibility</a>.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerReplication">AWS
* API Reference</a></p>
*/
class DeleteMarkerReplication
{
public:
AWS_S3_API DeleteMarkerReplication();
AWS_S3_API DeleteMarkerReplication(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API DeleteMarkerReplication& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Indicates whether to replicate delete markers.</p> <p>Indicates
* whether to replicate delete markers.</p>
*/
inline const DeleteMarkerReplicationStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const DeleteMarkerReplicationStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(DeleteMarkerReplicationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline DeleteMarkerReplication& WithStatus(const DeleteMarkerReplicationStatus& value) { SetStatus(value); return *this;}
inline DeleteMarkerReplication& WithStatus(DeleteMarkerReplicationStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
private:
DeleteMarkerReplicationStatus m_status;
bool m_statusHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class DeleteMarkerReplicationStatus
{
NOT_SET,
Enabled,
Disabled
};
namespace DeleteMarkerReplicationStatusMapper
{
AWS_S3_API DeleteMarkerReplicationStatus GetDeleteMarkerReplicationStatusForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForDeleteMarkerReplicationStatus(DeleteMarkerReplicationStatus value);
} // namespace DeleteMarkerReplicationStatusMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,226 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/RequestPayer.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteObjectRequest : public S3Request
{
public:
AWS_S3_API DeleteObjectRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteObject"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket name of the bucket containing the object. </p> <p> <b>Directory
* buckets</b> - When you use this operation with a directory bucket, you must use
* virtual-hosted-style requests in the format <code>
* <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>.
* Path-style requests are not supported. Directory bucket names must be unique in
* the chosen Availability Zone. Bucket names must follow the format <code>
* <i>bucket_base_name</i>--<i>az-id</i>--x-s3</code> (for example, <code>
* <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about
* bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access
* points</b> - When you use this action with an access point, you must provide the
* alias of the access point in place of the bucket name or specify the access
* point ARN. When using the access point ARN, you must direct requests to the
* access point hostname. The access point hostname takes the form
* <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
* access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Access
* points and Object Lambda access points are not supported by directory
* buckets.</p> <p> <b>S3 on Outposts</b> - 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 <code>
* <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>.
* 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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What
* is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>Key name of the object to delete.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline DeleteObjectRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline DeleteObjectRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline DeleteObjectRequest& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>The concatenation of the authentication device's serial number, a space, and
* the value that is displayed on your authentication device. Required to
* permanently delete a versioned object if versioning is configured with MFA
* delete enabled.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const Aws::String& GetMFA() const{ return m_mFA; }
inline bool MFAHasBeenSet() const { return m_mFAHasBeenSet; }
inline void SetMFA(const Aws::String& value) { m_mFAHasBeenSet = true; m_mFA = value; }
inline void SetMFA(Aws::String&& value) { m_mFAHasBeenSet = true; m_mFA = std::move(value); }
inline void SetMFA(const char* value) { m_mFAHasBeenSet = true; m_mFA.assign(value); }
inline DeleteObjectRequest& WithMFA(const Aws::String& value) { SetMFA(value); return *this;}
inline DeleteObjectRequest& WithMFA(Aws::String&& value) { SetMFA(std::move(value)); return *this;}
inline DeleteObjectRequest& WithMFA(const char* value) { SetMFA(value); return *this;}
///@}
///@{
/**
* <p>Version ID used to reference a specific version of the object.</p>
* <p>For directory buckets in this API operation, only the <code>null</code> value
* of the version ID is supported.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); }
inline DeleteObjectRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline DeleteObjectRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline DeleteObjectRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;}
///@}
///@{
inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; }
inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; }
inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); }
inline DeleteObjectRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;}
inline DeleteObjectRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions
* to process this operation. To use this header, you must have the
* <code>s3:BypassGovernanceRetention</code> permission.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; }
inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; }
inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; }
inline DeleteObjectRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteObjectRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteObjectRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteObjectRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteObjectRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteObjectRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteObjectRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteObjectRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteObjectRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteObjectRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_key;
bool m_keyHasBeenSet = false;
Aws::String m_mFA;
bool m_mFAHasBeenSet = false;
Aws::String m_versionId;
bool m_versionIdHasBeenSet = false;
RequestPayer m_requestPayer;
bool m_requestPayerHasBeenSet = false;
bool m_bypassGovernanceRetention;
bool m_bypassGovernanceRetentionHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,96 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/RequestCharged.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class DeleteObjectResult
{
public:
AWS_S3_API DeleteObjectResult();
AWS_S3_API DeleteObjectResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API DeleteObjectResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>Indicates whether the specified object version that was permanently deleted
* was (true) or was not (false) a delete marker before deletion. In a simple
* DELETE, this header indicates whether (true) or not (false) the current version
* of the object is a delete marker.</p> <p>This functionality is not
* supported for directory buckets.</p>
*/
inline bool GetDeleteMarker() const{ return m_deleteMarker; }
inline void SetDeleteMarker(bool value) { m_deleteMarker = value; }
inline DeleteObjectResult& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;}
///@}
///@{
/**
* <p>Returns the version ID of the delete marker created as a result of the DELETE
* operation.</p> <p>This functionality is not supported for directory
* buckets.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline void SetVersionId(const Aws::String& value) { m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionId.assign(value); }
inline DeleteObjectResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline DeleteObjectResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline DeleteObjectResult& WithVersionId(const char* value) { SetVersionId(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 DeleteObjectResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;}
inline DeleteObjectResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteObjectResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteObjectResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteObjectResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
bool m_deleteMarker;
Aws::String m_versionId;
RequestCharged m_requestCharged;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,163 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteObjectTaggingRequest : public S3Request
{
public:
AWS_S3_API DeleteObjectTaggingRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteObjectTagging"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket name containing the objects from which to remove the tags. </p>
* <p> <b>Access points</b> - When you use this action with an access point, you
* must provide the alias of the access point in place of the bucket name or
* specify the access point ARN. When using the access point ARN, you must direct
* requests to the access point hostname. The access point hostname takes the form
* <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
* access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>S3 on
* Outposts</b> - 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 <code>
* <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>.
* 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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What
* is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteObjectTaggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteObjectTaggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteObjectTaggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The key that identifies the object in the bucket from which to remove all
* tags.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline DeleteObjectTaggingRequest& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline DeleteObjectTaggingRequest& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline DeleteObjectTaggingRequest& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>The versionId of the object that the tag-set will be removed from.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); }
inline DeleteObjectTaggingRequest& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline DeleteObjectTaggingRequest& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline DeleteObjectTaggingRequest& WithVersionId(const char* value) { SetVersionId(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteObjectTaggingRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteObjectTaggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteObjectTaggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteObjectTaggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_key;
bool m_keyHasBeenSet = false;
Aws::String m_versionId;
bool m_versionIdHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class DeleteObjectTaggingResult
{
public:
AWS_S3_API DeleteObjectTaggingResult();
AWS_S3_API DeleteObjectTaggingResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API DeleteObjectTaggingResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>The versionId of the object the tag-set was removed from.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline void SetVersionId(const Aws::String& value) { m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionId.assign(value); }
inline DeleteObjectTaggingResult& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline DeleteObjectTaggingResult& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline DeleteObjectTaggingResult& WithVersionId(const char* value) { SetVersionId(value); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteObjectTaggingResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteObjectTaggingResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteObjectTaggingResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::String m_versionId;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,252 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/Delete.h>
#include <aws/s3/model/RequestPayer.h>
#include <aws/s3/model/ChecksumAlgorithm.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeleteObjectsRequest : public S3Request
{
public:
AWS_S3_API DeleteObjectsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteObjects"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
AWS_S3_API Aws::String GetChecksumAlgorithmName() const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket name containing the objects to delete. </p> <p> <b>Directory
* buckets</b> - When you use this operation with a directory bucket, you must use
* virtual-hosted-style requests in the format <code>
* <i>Bucket_name</i>.s3express-<i>az_id</i>.<i>region</i>.amazonaws.com</code>.
* Path-style requests are not supported. Directory bucket names must be unique in
* the chosen Availability Zone. Bucket names must follow the format <code>
* <i>bucket_base_name</i>--<i>az-id</i>--x-s3</code> (for example, <code>
* <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about
* bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p> <p> <b>Access
* points</b> - When you use this action with an access point, you must provide the
* alias of the access point in place of the bucket name or specify the access
* point ARN. When using the access point ARN, you must direct requests to the
* access point hostname. The access point hostname takes the form
* <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using
* access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Access
* points and Object Lambda access points are not supported by directory
* buckets.</p> <p> <b>S3 on Outposts</b> - 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 <code>
* <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>.
* 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 <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What
* is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeleteObjectsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeleteObjectsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeleteObjectsRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>Container for the request.</p>
*/
inline const Delete& GetDelete() const{ return m_delete; }
inline bool DeleteHasBeenSet() const { return m_deleteHasBeenSet; }
inline void SetDelete(const Delete& value) { m_deleteHasBeenSet = true; m_delete = value; }
inline void SetDelete(Delete&& value) { m_deleteHasBeenSet = true; m_delete = std::move(value); }
inline DeleteObjectsRequest& WithDelete(const Delete& value) { SetDelete(value); return *this;}
inline DeleteObjectsRequest& WithDelete(Delete&& value) { SetDelete(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The concatenation of the authentication device's serial number, a space, and
* the value that is displayed on your authentication device. Required to
* permanently delete a versioned object if versioning is configured with MFA
* delete enabled.</p> <p>When performing the <code>DeleteObjects</code> operation
* on an MFA delete enabled bucket, which attempts to delete the specified
* versioned objects, you must include an MFA token. If you don't provide an MFA
* token, the entire request will fail, even if there are non-versioned objects
* that you are trying to delete. If you provide an invalid token, whether there
* are versioned object keys in the request or not, the entire Multi-Object Delete
* request will fail. For information about MFA Delete, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete">
* MFA Delete</a> in the <i>Amazon S3 User Guide</i>.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetMFA() const{ return m_mFA; }
inline bool MFAHasBeenSet() const { return m_mFAHasBeenSet; }
inline void SetMFA(const Aws::String& value) { m_mFAHasBeenSet = true; m_mFA = value; }
inline void SetMFA(Aws::String&& value) { m_mFAHasBeenSet = true; m_mFA = std::move(value); }
inline void SetMFA(const char* value) { m_mFAHasBeenSet = true; m_mFA.assign(value); }
inline DeleteObjectsRequest& WithMFA(const Aws::String& value) { SetMFA(value); return *this;}
inline DeleteObjectsRequest& WithMFA(Aws::String&& value) { SetMFA(std::move(value)); return *this;}
inline DeleteObjectsRequest& WithMFA(const char* value) { SetMFA(value); return *this;}
///@}
///@{
inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; }
inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; }
inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); }
inline DeleteObjectsRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;}
inline DeleteObjectsRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specifies whether you want to delete this object even if it has a
* Governance-type Object Lock in place. To use this header, you must have the
* <code>s3:BypassGovernanceRetention</code> permission.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; }
inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; }
inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; }
inline DeleteObjectsRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeleteObjectsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeleteObjectsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeleteObjectsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
/**
* <p>Indicates the algorithm used to create the checksum for the object when you
* use the SDK. This header will not provide any additional functionality if you
* don't use the SDK. When you send this header, there must be a corresponding
* <code>x-amz-checksum-<i>algorithm</i> </code> or <code>x-amz-trailer</code>
* header sent. Otherwise, Amazon S3 fails the request with the HTTP status code
* <code>400 Bad Request</code>.</p> <p>For the
* <code>x-amz-checksum-<i>algorithm</i> </code> header, replace <code>
* <i>algorithm</i> </code> with the supported algorithm from the following list:
* </p> <ul> <li> <p> <code>CRC32</code> </p> </li> <li> <p> <code>CRC32C</code>
* </p> </li> <li> <p> <code>SHA1</code> </p> </li> <li> <p> <code>SHA256</code>
* </p> </li> </ul> <p>For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p> <p>If the
* individual checksum value you provide through
* <code>x-amz-checksum-<i>algorithm</i> </code> doesn't match the checksum
* algorithm you set through <code>x-amz-sdk-checksum-algorithm</code>, Amazon S3
* ignores any provided <code>ChecksumAlgorithm</code> parameter and uses the
* checksum algorithm that matches the provided value in
* <code>x-amz-checksum-<i>algorithm</i> </code>.</p> <p>If you provide an
* individual checksum, Amazon S3 ignores any provided
* <code>ChecksumAlgorithm</code> parameter.</p>
*/
inline const ChecksumAlgorithm& GetChecksumAlgorithm() const{ return m_checksumAlgorithm; }
inline bool ChecksumAlgorithmHasBeenSet() const { return m_checksumAlgorithmHasBeenSet; }
inline void SetChecksumAlgorithm(const ChecksumAlgorithm& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = value; }
inline void SetChecksumAlgorithm(ChecksumAlgorithm&& value) { m_checksumAlgorithmHasBeenSet = true; m_checksumAlgorithm = std::move(value); }
inline DeleteObjectsRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;}
inline DeleteObjectsRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeleteObjectsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeleteObjectsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeleteObjectsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeleteObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteObjectsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeleteObjectsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeleteObjectsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeleteObjectsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Delete m_delete;
bool m_deleteHasBeenSet = false;
Aws::String m_mFA;
bool m_mFAHasBeenSet = false;
RequestPayer m_requestPayer;
bool m_requestPayerHasBeenSet = false;
bool m_bypassGovernanceRetention;
bool m_bypassGovernanceRetentionHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
ChecksumAlgorithm m_checksumAlgorithm;
bool m_checksumAlgorithmHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,99 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/s3/model/RequestCharged.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/DeletedObject.h>
#include <aws/s3/model/Error.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class DeleteObjectsResult
{
public:
AWS_S3_API DeleteObjectsResult();
AWS_S3_API DeleteObjectsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API DeleteObjectsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>Container element for a successful delete. It identifies the object that was
* successfully deleted.</p>
*/
inline const Aws::Vector<DeletedObject>& GetDeleted() const{ return m_deleted; }
inline void SetDeleted(const Aws::Vector<DeletedObject>& value) { m_deleted = value; }
inline void SetDeleted(Aws::Vector<DeletedObject>&& value) { m_deleted = std::move(value); }
inline DeleteObjectsResult& WithDeleted(const Aws::Vector<DeletedObject>& value) { SetDeleted(value); return *this;}
inline DeleteObjectsResult& WithDeleted(Aws::Vector<DeletedObject>&& value) { SetDeleted(std::move(value)); return *this;}
inline DeleteObjectsResult& AddDeleted(const DeletedObject& value) { m_deleted.push_back(value); return *this; }
inline DeleteObjectsResult& AddDeleted(DeletedObject&& value) { m_deleted.push_back(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 DeleteObjectsResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;}
inline DeleteObjectsResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Container for a failed delete action that describes the object that Amazon S3
* attempted to delete and the error it encountered.</p>
*/
inline const Aws::Vector<Error>& GetErrors() const{ return m_errors; }
inline void SetErrors(const Aws::Vector<Error>& value) { m_errors = value; }
inline void SetErrors(Aws::Vector<Error>&& value) { m_errors = std::move(value); }
inline DeleteObjectsResult& WithErrors(const Aws::Vector<Error>& value) { SetErrors(value); return *this;}
inline DeleteObjectsResult& WithErrors(Aws::Vector<Error>&& value) { SetErrors(std::move(value)); return *this;}
inline DeleteObjectsResult& AddErrors(const Error& value) { m_errors.push_back(value); return *this; }
inline DeleteObjectsResult& AddErrors(Error&& value) { m_errors.push_back(std::move(value)); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline DeleteObjectsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline DeleteObjectsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline DeleteObjectsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::Vector<DeletedObject> m_deleted;
RequestCharged m_requestCharged;
Aws::Vector<Error> m_errors;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,110 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class DeletePublicAccessBlockRequest : public S3Request
{
public:
AWS_S3_API DeletePublicAccessBlockRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeletePublicAccessBlock"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The Amazon S3 bucket whose <code>PublicAccessBlock</code> configuration you
* want to delete. </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline DeletePublicAccessBlockRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline DeletePublicAccessBlockRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline DeletePublicAccessBlockRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline DeletePublicAccessBlockRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline DeletePublicAccessBlockRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline DeletePublicAccessBlockRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline DeletePublicAccessBlockRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,116 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Information about the deleted object.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletedObject">AWS
* API Reference</a></p>
*/
class DeletedObject
{
public:
AWS_S3_API DeletedObject();
AWS_S3_API DeletedObject(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API DeletedObject& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The name of the deleted object.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline DeletedObject& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline DeletedObject& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline DeletedObject& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>The version ID of the deleted object.</p> <p>This functionality is not
* supported for directory buckets.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); }
inline DeletedObject& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline DeletedObject& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline DeletedObject& WithVersionId(const char* value) { SetVersionId(value); return *this;}
///@}
///@{
/**
* <p>Indicates whether the specified object version that was permanently deleted
* was (true) or was not (false) a delete marker before deletion. In a simple
* DELETE, this header indicates whether (true) or not (false) the current version
* of the object is a delete marker.</p> <p>This functionality is not
* supported for directory buckets.</p>
*/
inline bool GetDeleteMarker() const{ return m_deleteMarker; }
inline bool DeleteMarkerHasBeenSet() const { return m_deleteMarkerHasBeenSet; }
inline void SetDeleteMarker(bool value) { m_deleteMarkerHasBeenSet = true; m_deleteMarker = value; }
inline DeletedObject& WithDeleteMarker(bool value) { SetDeleteMarker(value); return *this;}
///@}
///@{
/**
* <p>The version ID of the delete marker created as a result of the DELETE
* operation. If you delete a specific object version, the value returned by this
* header is the version ID of the object version deleted.</p> <p>This
* functionality is not supported for directory buckets.</p>
*/
inline const Aws::String& GetDeleteMarkerVersionId() const{ return m_deleteMarkerVersionId; }
inline bool DeleteMarkerVersionIdHasBeenSet() const { return m_deleteMarkerVersionIdHasBeenSet; }
inline void SetDeleteMarkerVersionId(const Aws::String& value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId = value; }
inline void SetDeleteMarkerVersionId(Aws::String&& value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId = std::move(value); }
inline void SetDeleteMarkerVersionId(const char* value) { m_deleteMarkerVersionIdHasBeenSet = true; m_deleteMarkerVersionId.assign(value); }
inline DeletedObject& WithDeleteMarkerVersionId(const Aws::String& value) { SetDeleteMarkerVersionId(value); return *this;}
inline DeletedObject& WithDeleteMarkerVersionId(Aws::String&& value) { SetDeleteMarkerVersionId(std::move(value)); return *this;}
inline DeletedObject& WithDeleteMarkerVersionId(const char* value) { SetDeleteMarkerVersionId(value); return *this;}
///@}
private:
Aws::String m_key;
bool m_keyHasBeenSet = false;
Aws::String m_versionId;
bool m_versionIdHasBeenSet = false;
bool m_deleteMarker;
bool m_deleteMarkerHasBeenSet = false;
Aws::String m_deleteMarkerVersionId;
bool m_deleteMarkerVersionIdHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,183 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/StorageClass.h>
#include <aws/s3/model/AccessControlTranslation.h>
#include <aws/s3/model/EncryptionConfiguration.h>
#include <aws/s3/model/ReplicationTime.h>
#include <aws/s3/model/Metrics.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies information about where to publish analysis or configuration
* results for an Amazon S3 bucket and S3 Replication Time Control (S3
* RTC).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination">AWS API
* Reference</a></p>
*/
class Destination
{
public:
AWS_S3_API Destination();
AWS_S3_API Destination(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API Destination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p> The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to
* store the results.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline Destination& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline Destination& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline Destination& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>Destination bucket owner account ID. In a cross-account scenario, if you
* direct Amazon S3 to change replica ownership to the Amazon Web Services account
* that owns the destination bucket by specifying the
* <code>AccessControlTranslation</code> property, this is the account ID of the
* destination bucket owner. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html">Replication
* Additional Configuration: Changing the Replica Owner</a> in the <i>Amazon S3
* User Guide</i>.</p>
*/
inline const Aws::String& GetAccount() const{ return m_account; }
inline bool AccountHasBeenSet() const { return m_accountHasBeenSet; }
inline void SetAccount(const Aws::String& value) { m_accountHasBeenSet = true; m_account = value; }
inline void SetAccount(Aws::String&& value) { m_accountHasBeenSet = true; m_account = std::move(value); }
inline void SetAccount(const char* value) { m_accountHasBeenSet = true; m_account.assign(value); }
inline Destination& WithAccount(const Aws::String& value) { SetAccount(value); return *this;}
inline Destination& WithAccount(Aws::String&& value) { SetAccount(std::move(value)); return *this;}
inline Destination& WithAccount(const char* value) { SetAccount(value); return *this;}
///@}
///@{
/**
* <p> The storage class to use when replicating objects, such as S3 Standard or
* reduced redundancy. By default, Amazon S3 uses the storage class of the source
* object to create the object replica. </p> <p>For valid values, see the
* <code>StorageClass</code> element of the <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html">PUT
* Bucket replication</a> action in the <i>Amazon S3 API Reference</i>.</p>
*/
inline const StorageClass& GetStorageClass() const{ return m_storageClass; }
inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
inline void SetStorageClass(const StorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
inline void SetStorageClass(StorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = std::move(value); }
inline Destination& WithStorageClass(const StorageClass& value) { SetStorageClass(value); return *this;}
inline Destination& WithStorageClass(StorageClass&& value) { SetStorageClass(std::move(value)); return *this;}
///@}
///@{
/**
* <p>Specify this only in a cross-account scenario (where source and destination
* bucket owners are not the same), and you want to change replica ownership to the
* Amazon Web Services account that owns the destination bucket. If this is not
* specified in the replication configuration, the replicas are owned by same
* Amazon Web Services account that owns the source object.</p>
*/
inline const AccessControlTranslation& GetAccessControlTranslation() const{ return m_accessControlTranslation; }
inline bool AccessControlTranslationHasBeenSet() const { return m_accessControlTranslationHasBeenSet; }
inline void SetAccessControlTranslation(const AccessControlTranslation& value) { m_accessControlTranslationHasBeenSet = true; m_accessControlTranslation = value; }
inline void SetAccessControlTranslation(AccessControlTranslation&& value) { m_accessControlTranslationHasBeenSet = true; m_accessControlTranslation = std::move(value); }
inline Destination& WithAccessControlTranslation(const AccessControlTranslation& value) { SetAccessControlTranslation(value); return *this;}
inline Destination& WithAccessControlTranslation(AccessControlTranslation&& value) { SetAccessControlTranslation(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A container that provides information about encryption. If
* <code>SourceSelectionCriteria</code> is specified, you must specify this
* element.</p>
*/
inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; }
inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; }
inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; }
inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); }
inline Destination& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;}
inline Destination& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p> A container specifying S3 Replication Time Control (S3 RTC), including
* whether S3 RTC is enabled and the time when all objects and operations on
* objects must be replicated. Must be specified together with a
* <code>Metrics</code> block. </p>
*/
inline const ReplicationTime& GetReplicationTime() const{ return m_replicationTime; }
inline bool ReplicationTimeHasBeenSet() const { return m_replicationTimeHasBeenSet; }
inline void SetReplicationTime(const ReplicationTime& value) { m_replicationTimeHasBeenSet = true; m_replicationTime = value; }
inline void SetReplicationTime(ReplicationTime&& value) { m_replicationTimeHasBeenSet = true; m_replicationTime = std::move(value); }
inline Destination& WithReplicationTime(const ReplicationTime& value) { SetReplicationTime(value); return *this;}
inline Destination& WithReplicationTime(ReplicationTime&& value) { SetReplicationTime(std::move(value)); return *this;}
///@}
///@{
/**
* <p> A container specifying replication metrics-related settings enabling
* replication metrics and events. </p>
*/
inline const Metrics& GetMetrics() const{ return m_metrics; }
inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
inline void SetMetrics(const Metrics& value) { m_metricsHasBeenSet = true; m_metrics = value; }
inline void SetMetrics(Metrics&& value) { m_metricsHasBeenSet = true; m_metrics = std::move(value); }
inline Destination& WithMetrics(const Metrics& value) { SetMetrics(value); return *this;}
inline Destination& WithMetrics(Metrics&& value) { SetMetrics(std::move(value)); return *this;}
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_account;
bool m_accountHasBeenSet = false;
StorageClass m_storageClass;
bool m_storageClassHasBeenSet = false;
AccessControlTranslation m_accessControlTranslation;
bool m_accessControlTranslationHasBeenSet = false;
EncryptionConfiguration m_encryptionConfiguration;
bool m_encryptionConfigurationHasBeenSet = false;
ReplicationTime m_replicationTime;
bool m_replicationTimeHasBeenSet = false;
Metrics m_metrics;
bool m_metricsHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class EncodingType
{
NOT_SET,
url
};
namespace EncodingTypeMapper
{
AWS_S3_API EncodingType GetEncodingTypeForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForEncodingType(EncodingType value);
} // namespace EncodingTypeMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,102 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/ServerSideEncryption.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Contains the type of server-side encryption used.</p><p><h3>See Also:</h3>
* <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Encryption">AWS
* API Reference</a></p>
*/
class Encryption
{
public:
AWS_S3_API Encryption();
AWS_S3_API Encryption(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API Encryption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The server-side encryption algorithm used when storing job results in Amazon
* S3 (for example, AES256, <code>aws:kms</code>).</p>
*/
inline const ServerSideEncryption& GetEncryptionType() const{ return m_encryptionType; }
inline bool EncryptionTypeHasBeenSet() const { return m_encryptionTypeHasBeenSet; }
inline void SetEncryptionType(const ServerSideEncryption& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = value; }
inline void SetEncryptionType(ServerSideEncryption&& value) { m_encryptionTypeHasBeenSet = true; m_encryptionType = std::move(value); }
inline Encryption& WithEncryptionType(const ServerSideEncryption& value) { SetEncryptionType(value); return *this;}
inline Encryption& WithEncryptionType(ServerSideEncryption&& value) { SetEncryptionType(std::move(value)); return *this;}
///@}
///@{
/**
* <p>If the encryption type is <code>aws:kms</code>, this optional value specifies
* the ID of the symmetric encryption customer managed key to use for encryption of
* job results. Amazon S3 only supports symmetric encryption KMS keys. For more
* information, see <a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric
* keys in KMS</a> in the <i>Amazon Web Services Key Management Service Developer
* Guide</i>.</p>
*/
inline const Aws::String& GetKMSKeyId() const{ return m_kMSKeyId; }
inline bool KMSKeyIdHasBeenSet() const { return m_kMSKeyIdHasBeenSet; }
inline void SetKMSKeyId(const Aws::String& value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId = value; }
inline void SetKMSKeyId(Aws::String&& value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId = std::move(value); }
inline void SetKMSKeyId(const char* value) { m_kMSKeyIdHasBeenSet = true; m_kMSKeyId.assign(value); }
inline Encryption& WithKMSKeyId(const Aws::String& value) { SetKMSKeyId(value); return *this;}
inline Encryption& WithKMSKeyId(Aws::String&& value) { SetKMSKeyId(std::move(value)); return *this;}
inline Encryption& WithKMSKeyId(const char* value) { SetKMSKeyId(value); return *this;}
///@}
///@{
/**
* <p>If the encryption type is <code>aws:kms</code>, this optional value can be
* used to specify the encryption context for the restore results.</p>
*/
inline const Aws::String& GetKMSContext() const{ return m_kMSContext; }
inline bool KMSContextHasBeenSet() const { return m_kMSContextHasBeenSet; }
inline void SetKMSContext(const Aws::String& value) { m_kMSContextHasBeenSet = true; m_kMSContext = value; }
inline void SetKMSContext(Aws::String&& value) { m_kMSContextHasBeenSet = true; m_kMSContext = std::move(value); }
inline void SetKMSContext(const char* value) { m_kMSContextHasBeenSet = true; m_kMSContext.assign(value); }
inline Encryption& WithKMSContext(const Aws::String& value) { SetKMSContext(value); return *this;}
inline Encryption& WithKMSContext(Aws::String&& value) { SetKMSContext(std::move(value)); return *this;}
inline Encryption& WithKMSContext(const char* value) { SetKMSContext(value); return *this;}
///@}
private:
ServerSideEncryption m_encryptionType;
bool m_encryptionTypeHasBeenSet = false;
Aws::String m_kMSKeyId;
bool m_kMSKeyIdHasBeenSet = false;
Aws::String m_kMSContext;
bool m_kMSContextHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies encryption-related information for an Amazon S3 bucket that is a
* destination for replicated objects.</p> <p>If you're specifying a
* customer managed KMS key, we recommend using a fully qualified KMS key ARN. If
* you use a KMS key alias instead, then KMS resolves the key within the
* requesters account. This behavior can result in data that's encrypted with a
* KMS key that belongs to the requester, and not the bucket owner.</p>
* <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EncryptionConfiguration">AWS
* API Reference</a></p>
*/
class EncryptionConfiguration
{
public:
AWS_S3_API EncryptionConfiguration();
AWS_S3_API EncryptionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API EncryptionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web
* Services KMS key stored in Amazon Web Services Key Management Service (KMS) for
* the destination bucket. Amazon S3 uses this key to encrypt replica objects.
* Amazon S3 only supports symmetric encryption KMS keys. For more information, see
* <a
* href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Asymmetric
* keys in Amazon Web Services KMS</a> in the <i>Amazon Web Services Key Management
* Service Developer Guide</i>.</p>
*/
inline const Aws::String& GetReplicaKmsKeyID() const{ return m_replicaKmsKeyID; }
inline bool ReplicaKmsKeyIDHasBeenSet() const { return m_replicaKmsKeyIDHasBeenSet; }
inline void SetReplicaKmsKeyID(const Aws::String& value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID = value; }
inline void SetReplicaKmsKeyID(Aws::String&& value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID = std::move(value); }
inline void SetReplicaKmsKeyID(const char* value) { m_replicaKmsKeyIDHasBeenSet = true; m_replicaKmsKeyID.assign(value); }
inline EncryptionConfiguration& WithReplicaKmsKeyID(const Aws::String& value) { SetReplicaKmsKeyID(value); return *this;}
inline EncryptionConfiguration& WithReplicaKmsKeyID(Aws::String&& value) { SetReplicaKmsKeyID(std::move(value)); return *this;}
inline EncryptionConfiguration& WithReplicaKmsKeyID(const char* value) { SetReplicaKmsKeyID(value); return *this;}
///@}
private:
Aws::String m_replicaKmsKeyID;
bool m_replicaKmsKeyIDHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,480 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Container for all error elements.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Error">AWS API
* Reference</a></p>
*/
class Error
{
public:
AWS_S3_API Error();
AWS_S3_API Error(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API Error& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The error key.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline Error& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline Error& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline Error& WithKey(const char* value) { SetKey(value); return *this;}
///@}
///@{
/**
* <p>The version ID of the error.</p> <p>This functionality is not
* supported for directory buckets.</p>
*/
inline const Aws::String& GetVersionId() const{ return m_versionId; }
inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
inline void SetVersionId(const Aws::String& value) { m_versionIdHasBeenSet = true; m_versionId = value; }
inline void SetVersionId(Aws::String&& value) { m_versionIdHasBeenSet = true; m_versionId = std::move(value); }
inline void SetVersionId(const char* value) { m_versionIdHasBeenSet = true; m_versionId.assign(value); }
inline Error& WithVersionId(const Aws::String& value) { SetVersionId(value); return *this;}
inline Error& WithVersionId(Aws::String&& value) { SetVersionId(std::move(value)); return *this;}
inline Error& WithVersionId(const char* value) { SetVersionId(value); return *this;}
///@}
///@{
/**
* <p>The error code is a string that uniquely identifies an error condition. It is
* meant to be read and understood by programs that detect and handle errors by
* type. The following is a list of Amazon S3 error codes. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html">Error
* responses</a>.</p> <ul> <li> <ul> <li> <p> <i>Code:</i> AccessDenied </p> </li>
* <li> <p> <i>Description:</i> Access Denied</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AccountProblem</p>
* </li> <li> <p> <i>Description:</i> There is a problem with your Amazon Web
* Services account that prevents the action from completing successfully. Contact
* Amazon Web Services Support for further assistance.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* AllAccessDisabled</p> </li> <li> <p> <i>Description:</i> All access to this
* Amazon S3 resource has been disabled. Contact Amazon Web Services Support for
* further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403
* Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> AmbiguousGrantByEmailAddress</p>
* </li> <li> <p> <i>Description:</i> The email address you provided is associated
* with more than one account.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad
* Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> AuthorizationHeaderMalformed</p> </li>
* <li> <p> <i>Description:</i> The authorization header you provided is
* invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li>
* <li> <p> <i>HTTP Status Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> BadDigest</p> </li> <li> <p> <i>Description:</i> The Content-MD5
* you specified did not match what we received.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* BucketAlreadyExists</p> </li> <li> <p> <i>Description:</i> The requested bucket
* name is not available. The bucket namespace is shared by all users of the
* system. Please select a different name and try again.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* BucketAlreadyOwnedByYou</p> </li> <li> <p> <i>Description:</i> The bucket you
* tried to create already exists, and you own it. Amazon S3 returns this error in
* all Amazon Web Services Regions except in the North Virginia Region. For legacy
* compatibility, if you re-create an existing bucket that you already own in the
* North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access
* control lists (ACLs).</p> </li> <li> <p> <i>Code:</i> 409 Conflict (in all
* Regions except the North Virginia Region) </p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* BucketNotEmpty</p> </li> <li> <p> <i>Description:</i> The bucket you tried to
* delete is not empty.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409
* Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> CredentialsNotSupported</p> </li>
* <li> <p> <i>Description:</i> This request does not support credentials.</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p>
* <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> CrossLocationLoggingProhibited</p> </li> <li> <p>
* <i>Description:</i> Cross-location logging not allowed. Buckets in one
* geographic location cannot log information to a bucket in another location.</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP
* Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> EntityTooSmall</p> </li> <li> <p> <i>Description:</i> Your proposed
* upload is smaller than the minimum allowed object size.</p> </li> <li> <p>
* <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* EntityTooLarge</p> </li> <li> <p> <i>Description:</i> Your proposed upload
* exceeds the maximum allowed object size.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ExpiredToken</p>
* </li> <li> <p> <i>Description:</i> The provided token has expired.</p> </li>
* <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP
* Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> IllegalVersioningConfigurationException </p> </li> <li> <p>
* <i>Description:</i> Indicates that the versioning configuration specified in the
* request is invalid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad
* Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> IncompleteBody</p> </li> <li> <p>
* <i>Description:</i> You did not provide the number of bytes specified by the
* Content-Length HTTP header</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad
* Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> IncorrectNumberOfFilesInPostRequest</p>
* </li> <li> <p> <i>Description:</i> POST requires exactly one file upload per
* request.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li>
* <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul>
* <li> <p> <i>Code:</i> InlineDataTooLarge</p> </li> <li> <p> <i>Description:</i>
* Inline data exceeds the maximum allowed size.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InternalError</p>
* </li> <li> <p> <i>Description:</i> We encountered an internal error. Please try
* again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 500 Internal Server Error</p>
* </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li>
* <ul> <li> <p> <i>Code:</i> InvalidAccessKeyId</p> </li> <li> <p>
* <i>Description:</i> The Amazon Web Services access key ID you provided does not
* exist in our records.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403
* Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidAddressingHeader</p> </li>
* <li> <p> <i>Description:</i> You must specify the Anonymous role.</p> </li> <li>
* <p> <i>HTTP Status Code:</i> N/A</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidArgument</p> </li> <li> <p> <i>Description:</i> Invalid Argument</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p>
* <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> InvalidBucketName</p> </li> <li> <p> <i>Description:</i> The
* specified bucket is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400
* Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidBucketState</p> </li> <li>
* <p> <i>Description:</i> The request is not valid with the current state of the
* bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li>
* <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li>
* <p> <i>Code:</i> InvalidDigest</p> </li> <li> <p> <i>Description:</i> The
* Content-MD5 you specified is not valid.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidEncryptionAlgorithmError</p> </li> <li> <p> <i>Description:</i> The
* encryption request you specified is not valid. The valid value is AES256.</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p>
* <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> InvalidLocationConstraint</p> </li> <li> <p> <i>Description:</i>
* The specified location constraint is not valid. For more information about
* Regions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
* to Select a Region for Your Buckets</a>. </p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidObjectState</p> </li> <li> <p> <i>Description:</i> The action is not
* valid for the current state of the object.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPart</p>
* </li> <li> <p> <i>Description:</i> One or more of the specified parts could not
* be found. The part might not have been uploaded, or the specified entity tag
* might not have matched the part's entity tag.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidPartOrder</p> </li> <li> <p> <i>Description:</i> The list of parts was
* not in ascending order. Parts list must be specified in order by part
* number.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li>
* <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul>
* <li> <p> <i>Code:</i> InvalidPayer</p> </li> <li> <p> <i>Description:</i> All
* access to this object has been disabled. Please contact Amazon Web Services
* Support for further assistance.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403
* Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidPolicyDocument</p> </li> <li>
* <p> <i>Description:</i> The content of the form does not meet the conditions
* specified in the policy document.</p> </li> <li> <p> <i>HTTP Status Code:</i>
* 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p>
* </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRange</p> </li> <li>
* <p> <i>Description:</i> The requested range cannot be satisfied.</p> </li> <li>
* <p> <i>HTTP Status Code:</i> 416 Requested Range Not Satisfiable</p> </li> <li>
* <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li>
* <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i> Please
* use <code>AWS4-HMAC-SHA256</code>.</p> </li> <li> <p> <i>HTTP Status Code:</i>
* 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li>
* <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p> <i>Description:</i>
* SOAP requests must be made over an HTTPS connection.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer
* Acceleration is not supported for buckets with non-DNS compliant names.</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p>
* <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer
* Acceleration is not supported for buckets with periods (.) in their names.</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p>
* <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer
* Accelerate endpoint only supports virtual style requests.</p> </li> <li> <p>
* <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p>
* </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li>
* <p> <i>Description:</i> Amazon S3 Transfer Accelerate is not configured on this
* bucket.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li>
* <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidRequest</p> </li> <li> <p> <i>Description:</i> Amazon S3 Transfer
* Accelerate is disabled on this bucket.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p> </li> <li> <p>
* <i>Description:</i> Amazon S3 Transfer Acceleration is not supported on this
* bucket. Contact Amazon Web Services Support for more information.</p> </li> <li>
* <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>Code:</i>
* N/A</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidRequest</p>
* </li> <li> <p> <i>Description:</i> Amazon S3 Transfer Acceleration cannot be
* enabled on this bucket. Contact Amazon Web Services Support for more
* information.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p>
* </li> <li> <p> <i>Code:</i> N/A</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> InvalidSecurity</p> </li> <li> <p> <i>Description:</i> The provided
* security credentials are not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i>
* 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> InvalidSOAPRequest</p> </li> <li>
* <p> <i>Description:</i> The SOAP request body is invalid.</p> </li> <li> <p>
* <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidStorageClass</p> </li> <li> <p> <i>Description:</i> The storage class you
* specified is not valid.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad
* Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> InvalidTargetBucketForLogging</p> </li>
* <li> <p> <i>Description:</i> The target bucket for logging does not exist, is
* not owned by you, or does not have the appropriate grants for the log-delivery
* group. </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li>
* <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul>
* <li> <p> <i>Code:</i> InvalidToken</p> </li> <li> <p> <i>Description:</i> The
* provided token is malformed or otherwise invalid.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* InvalidURI</p> </li> <li> <p> <i>Description:</i> Couldn't parse the specified
* URI.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li>
* <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li>
* <p> <i>Code:</i> KeyTooLongError</p> </li> <li> <p> <i>Description:</i> Your key
* is too long.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p>
* </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li>
* <ul> <li> <p> <i>Code:</i> MalformedACLError</p> </li> <li> <p>
* <i>Description:</i> The XML you provided was not well-formed or did not validate
* against our published schema.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400
* Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> MalformedPOSTRequest </p> </li> <li>
* <p> <i>Description:</i> The body of your POST request is not well-formed
* multipart/form-data.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad
* Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> MalformedXML</p> </li> <li> <p>
* <i>Description:</i> This happens when the user sends malformed XML (XML that
* doesn't conform to the published XSD) for the configuration. The error message
* is, "The XML you provided was not well-formed or did not validate against our
* published schema." </p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad
* Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> MaxMessageLengthExceeded</p> </li> <li>
* <p> <i>Description:</i> Your request was too big.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* MaxPostPreDataLengthExceededError</p> </li> <li> <p> <i>Description:</i> Your
* POST request fields preceding the upload file were too large.</p> </li> <li> <p>
* <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* MetadataTooLarge</p> </li> <li> <p> <i>Description:</i> Your metadata headers
* exceed the maximum allowed metadata size.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* MethodNotAllowed</p> </li> <li> <p> <i>Description:</i> The specified method is
* not allowed against this resource.</p> </li> <li> <p> <i>HTTP Status Code:</i>
* 405 Method Not Allowed</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* MissingAttachment</p> </li> <li> <p> <i>Description:</i> A SOAP attachment was
* expected, but none were found.</p> </li> <li> <p> <i>HTTP Status Code:</i>
* N/A</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> MissingContentLength</p> </li> <li> <p>
* <i>Description:</i> You must provide the Content-Length HTTP header.</p> </li>
* <li> <p> <i>HTTP Status Code:</i> 411 Length Required</p> </li> <li> <p> <i>SOAP
* Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> MissingRequestBodyError</p> </li> <li> <p> <i>Description:</i> This
* happens when the user sends an empty XML document as a request. The error
* message is, "Request body is empty." </p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* MissingSecurityElement</p> </li> <li> <p> <i>Description:</i> The SOAP 1.1
* request is missing a security element.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* MissingSecurityHeader</p> </li> <li> <p> <i>Description:</i> Your request is
* missing a required header.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad
* Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> NoLoggingStatusForKey</p> </li> <li> <p>
* <i>Description:</i> There is no such thing as a logging status subresource for a
* key.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li>
* <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li>
* <p> <i>Code:</i> NoSuchBucket</p> </li> <li> <p> <i>Description:</i> The
* specified bucket does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404
* Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchBucketPolicy</p> </li> <li>
* <p> <i>Description:</i> The specified bucket does not have a bucket policy.</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP
* Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> NoSuchKey</p> </li> <li> <p> <i>Description:</i> The specified key
* does not exist.</p> </li> <li> <p> <i>HTTP Status Code:</i> 404 Not Found</p>
* </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li>
* <ul> <li> <p> <i>Code:</i> NoSuchLifecycleConfiguration</p> </li> <li> <p>
* <i>Description:</i> The lifecycle configuration does not exist. </p> </li> <li>
* <p> <i>HTTP Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* NoSuchUpload</p> </li> <li> <p> <i>Description:</i> The specified multipart
* upload does not exist. The upload ID might be invalid, or the multipart upload
* might have been aborted or completed.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NoSuchVersion </p>
* </li> <li> <p> <i>Description:</i> Indicates that the version ID specified in
* the request does not match an existing version.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 404 Not Found</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotImplemented</p>
* </li> <li> <p> <i>Description:</i> A header you provided implies functionality
* that is not implemented.</p> </li> <li> <p> <i>HTTP Status Code:</i> 501 Not
* Implemented</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> NotSignedUp</p> </li> <li> <p>
* <i>Description:</i> Your account is not signed up for the Amazon S3 service. You
* must sign up before you can use Amazon S3. You can sign up at the following URL:
* <a href="http://aws.amazon.com/s3">Amazon S3</a> </p> </li> <li> <p> <i>HTTP
* Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* OperationAborted</p> </li> <li> <p> <i>Description:</i> A conflicting
* conditional action is currently in progress against this resource. Try
* again.</p> </li> <li> <p> <i>HTTP Status Code:</i> 409 Conflict</p> </li> <li>
* <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li>
* <p> <i>Code:</i> PermanentRedirect</p> </li> <li> <p> <i>Description:</i> The
* bucket you are attempting to access must be addressed using the specified
* endpoint. Send all future requests to this endpoint.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 301 Moved Permanently</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* PreconditionFailed</p> </li> <li> <p> <i>Description:</i> At least one of the
* preconditions you specified did not hold.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 412 Precondition Failed</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* Redirect</p> </li> <li> <p> <i>Description:</i> Temporary redirect.</p> </li>
* <li> <p> <i>HTTP Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p>
* <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> RestoreAlreadyInProgress</p> </li> <li> <p> <i>Description:</i>
* Object restore is already in progress.</p> </li> <li> <p> <i>HTTP Status
* Code:</i> 409 Conflict</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i>
* Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* RequestIsNotMultiPartContent</p> </li> <li> <p> <i>Description:</i> Bucket POST
* must be of the enclosure-type multipart/form-data.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* RequestTimeout</p> </li> <li> <p> <i>Description:</i> Your socket connection to
* the server was not read from or written to within the timeout period.</p> </li>
* <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP
* Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> RequestTimeTooSkewed</p> </li> <li> <p> <i>Description:</i> The
* difference between the request time and the server's time is too large.</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 403 Forbidden</p> </li> <li> <p> <i>SOAP
* Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> RequestTorrentOfBucketError</p> </li> <li> <p> <i>Description:</i>
* Requesting the torrent file of a bucket is not permitted.</p> </li> <li> <p>
* <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* SignatureDoesNotMatch</p> </li> <li> <p> <i>Description:</i> The request
* signature we calculated does not match the signature you provided. Check your
* Amazon Web Services secret access key and signing method. For more information,
* see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
* Authentication</a> and <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html">SOAP
* Authentication</a> for details.</p> </li> <li> <p> <i>HTTP Status Code:</i> 403
* Forbidden</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li>
* </ul> </li> <li> <ul> <li> <p> <i>Code:</i> ServiceUnavailable</p> </li> <li>
* <p> <i>Description:</i> Service is unable to handle request.</p> </li> <li> <p>
* <i>HTTP Status Code:</i> 503 Service Unavailable</p> </li> <li> <p> <i>SOAP
* Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> SlowDown</p> </li> <li> <p> <i>Description:</i> Reduce your request
* rate.</p> </li> <li> <p> <i>HTTP Status Code:</i> 503 Slow Down</p> </li> <li>
* <p> <i>SOAP Fault Code Prefix:</i> Server</p> </li> </ul> </li> <li> <ul> <li>
* <p> <i>Code:</i> TemporaryRedirect</p> </li> <li> <p> <i>Description:</i> You
* are being redirected to the bucket while DNS updates.</p> </li> <li> <p> <i>HTTP
* Status Code:</i> 307 Moved Temporarily</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* TokenRefreshRequired</p> </li> <li> <p> <i>Description:</i> The provided token
* must be refreshed.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad
* Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul>
* </li> <li> <ul> <li> <p> <i>Code:</i> TooManyBuckets</p> </li> <li> <p>
* <i>Description:</i> You have attempted to create more buckets than allowed.</p>
* </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p>
* <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p>
* <i>Code:</i> UnexpectedContent</p> </li> <li> <p> <i>Description:</i> This
* request does not support content.</p> </li> <li> <p> <i>HTTP Status Code:</i>
* 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p>
* </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* UnresolvableGrantByEmailAddress</p> </li> <li> <p> <i>Description:</i> The email
* address you provided does not match any account on record.</p> </li> <li> <p>
* <i>HTTP Status Code:</i> 400 Bad Request</p> </li> <li> <p> <i>SOAP Fault Code
* Prefix:</i> Client</p> </li> </ul> </li> <li> <ul> <li> <p> <i>Code:</i>
* UserKeyMustBeSpecified</p> </li> <li> <p> <i>Description:</i> The bucket POST
* must contain the specified field name. If it is specified, check the order of
* the fields.</p> </li> <li> <p> <i>HTTP Status Code:</i> 400 Bad Request</p>
* </li> <li> <p> <i>SOAP Fault Code Prefix:</i> Client</p> </li> </ul> </li> </ul>
* <p/>
*/
inline const Aws::String& GetCode() const{ return m_code; }
inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; }
inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; }
inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); }
inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); }
inline Error& WithCode(const Aws::String& value) { SetCode(value); return *this;}
inline Error& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;}
inline Error& WithCode(const char* value) { SetCode(value); return *this;}
///@}
///@{
/**
* <p>The error message contains a generic description of the error condition in
* English. It is intended for a human audience. Simple programs display the
* message directly to the end user if they encounter an error condition they don't
* know how or don't care to handle. Sophisticated programs with more exhaustive
* error handling and proper internationalization are more likely to ignore the
* error message.</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline Error& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline Error& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline Error& WithMessage(const char* value) { SetMessage(value); return *this;}
///@}
private:
Aws::String m_key;
bool m_keyHasBeenSet = false;
Aws::String m_versionId;
bool m_versionIdHasBeenSet = false;
Aws::String m_code;
bool m_codeHasBeenSet = false;
Aws::String m_message;
bool m_messageHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,65 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>The error information.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDocument">AWS
* API Reference</a></p>
*/
class ErrorDocument
{
public:
AWS_S3_API ErrorDocument();
AWS_S3_API ErrorDocument(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API ErrorDocument& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The object key name to use when a 4XX class error occurs.</p>
* <p>Replacement must be made for object keys containing special characters (such
* as carriage returns) when using XML requests. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints">
* XML related object key constraints</a>.</p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
inline ErrorDocument& WithKey(const Aws::String& value) { SetKey(value); return *this;}
inline ErrorDocument& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
inline ErrorDocument& WithKey(const char* value) { SetKey(value); return *this;}
///@}
private:
Aws::String m_key;
bool m_keyHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,56 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class Event
{
NOT_SET,
s3_ReducedRedundancyLostObject,
s3_ObjectCreated,
s3_ObjectCreated_Put,
s3_ObjectCreated_Post,
s3_ObjectCreated_Copy,
s3_ObjectCreated_CompleteMultipartUpload,
s3_ObjectRemoved,
s3_ObjectRemoved_Delete,
s3_ObjectRemoved_DeleteMarkerCreated,
s3_ObjectRestore,
s3_ObjectRestore_Post,
s3_ObjectRestore_Completed,
s3_Replication,
s3_Replication_OperationFailedReplication,
s3_Replication_OperationNotTracked,
s3_Replication_OperationMissedThreshold,
s3_Replication_OperationReplicatedAfterThreshold,
s3_ObjectRestore_Delete,
s3_LifecycleTransition,
s3_IntelligentTiering,
s3_ObjectAcl_Put,
s3_LifecycleExpiration,
s3_LifecycleExpiration_Delete,
s3_LifecycleExpiration_DeleteMarkerCreated,
s3_ObjectTagging,
s3_ObjectTagging_Put,
s3_ObjectTagging_Delete
};
namespace EventMapper
{
AWS_S3_API Event GetEventForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForEvent(Event value);
} // namespace EventMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>A container for specifying the configuration for Amazon
* EventBridge.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EventBridgeConfiguration">AWS
* API Reference</a></p>
*/
class EventBridgeConfiguration
{
public:
AWS_S3_API EventBridgeConfiguration();
AWS_S3_API EventBridgeConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API EventBridgeConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,64 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/ExistingObjectReplicationStatus.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Optional configuration to replicate existing source bucket objects. </p>
* <p>This parameter is no longer supported. To replicate existing objects,
* see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html">Replicating
* existing objects with S3 Batch Replication</a> in the <i>Amazon S3 User
* Guide</i>.</p> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ExistingObjectReplication">AWS
* API Reference</a></p>
*/
class ExistingObjectReplication
{
public:
AWS_S3_API ExistingObjectReplication();
AWS_S3_API ExistingObjectReplication(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API ExistingObjectReplication& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>Specifies whether Amazon S3 replicates existing source bucket objects. </p>
*/
inline const ExistingObjectReplicationStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const ExistingObjectReplicationStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(ExistingObjectReplicationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline ExistingObjectReplication& WithStatus(const ExistingObjectReplicationStatus& value) { SetStatus(value); return *this;}
inline ExistingObjectReplication& WithStatus(ExistingObjectReplicationStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}
private:
ExistingObjectReplicationStatus m_status;
bool m_statusHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class ExistingObjectReplicationStatus
{
NOT_SET,
Enabled,
Disabled
};
namespace ExistingObjectReplicationStatusMapper
{
AWS_S3_API ExistingObjectReplicationStatus GetExistingObjectReplicationStatusForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForExistingObjectReplicationStatus(ExistingObjectReplicationStatus value);
} // namespace ExistingObjectReplicationStatusMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class ExpirationStatus
{
NOT_SET,
Enabled,
Disabled
};
namespace ExpirationStatusMapper
{
AWS_S3_API ExpirationStatus GetExpirationStatusForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForExpirationStatus(ExpirationStatus value);
} // namespace ExpirationStatusMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class ExpressionType
{
NOT_SET,
SQL
};
namespace ExpressionTypeMapper
{
AWS_S3_API ExpressionType GetExpressionTypeForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForExpressionType(ExpressionType value);
} // namespace ExpressionTypeMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class FileHeaderInfo
{
NOT_SET,
USE,
IGNORE,
NONE
};
namespace FileHeaderInfoMapper
{
AWS_S3_API FileHeaderInfo GetFileHeaderInfoForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForFileHeaderInfo(FileHeaderInfo value);
} // namespace FileHeaderInfoMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,89 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/FilterRuleName.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Xml
{
class XmlNode;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
/**
* <p>Specifies the Amazon S3 object key name to filter on. An object key name is
* the name assigned to an object in your Amazon S3 bucket. You specify whether to
* filter on the suffix or prefix of the object key name. A prefix is a specific
* string of characters at the beginning of an object key name, which you can use
* to organize objects. For example, you can start the key names of related objects
* with a prefix, such as <code>2023-</code> or <code>engineering/</code>. Then,
* you can use <code>FilterRule</code> to find objects in a bucket with key names
* that have the same prefix. A suffix is similar to a prefix, but it is at the end
* of the object key name instead of at the beginning.</p><p><h3>See Also:</h3>
* <a href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/FilterRule">AWS
* API Reference</a></p>
*/
class FilterRule
{
public:
AWS_S3_API FilterRule();
AWS_S3_API FilterRule(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API FilterRule& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
///@{
/**
* <p>The object key name prefix or suffix identifying one or more objects to which
* the filtering rule applies. The maximum length is 1,024 characters. Overlapping
* prefixes and suffixes are not supported. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
* Event Notifications</a> in the <i>Amazon S3 User Guide</i>.</p>
*/
inline const FilterRuleName& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const FilterRuleName& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(FilterRuleName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline FilterRule& WithName(const FilterRuleName& value) { SetName(value); return *this;}
inline FilterRule& WithName(FilterRuleName&& value) { SetName(std::move(value)); return *this;}
///@}
///@{
/**
* <p>The value that the filter searches for in object key names.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
inline FilterRule& WithValue(const Aws::String& value) { SetValue(value); return *this;}
inline FilterRule& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
inline FilterRule& WithValue(const char* value) { SetValue(value); return *this;}
///@}
private:
FilterRuleName m_name;
bool m_nameHasBeenSet = false;
Aws::String m_value;
bool m_valueHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace S3
{
namespace Model
{
enum class FilterRuleName
{
NOT_SET,
prefix,
suffix
};
namespace FilterRuleNameMapper
{
AWS_S3_API FilterRuleName GetFilterRuleNameForName(const Aws::String& name);
AWS_S3_API Aws::String GetNameForFilterRuleName(FilterRuleName value);
} // namespace FilterRuleNameMapper
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/RequestPayer.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class GetBucketAccelerateConfigurationRequest : public S3Request
{
public:
AWS_S3_API GetBucketAccelerateConfigurationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetBucketAccelerateConfiguration"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The name of the bucket for which the accelerate configuration is
* retrieved.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline GetBucketAccelerateConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline GetBucketAccelerateConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline GetBucketAccelerateConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline GetBucketAccelerateConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; }
inline bool RequestPayerHasBeenSet() const { return m_requestPayerHasBeenSet; }
inline void SetRequestPayer(const RequestPayer& value) { m_requestPayerHasBeenSet = true; m_requestPayer = value; }
inline void SetRequestPayer(RequestPayer&& value) { m_requestPayerHasBeenSet = true; m_requestPayer = std::move(value); }
inline GetBucketAccelerateConfigurationRequest& WithRequestPayer(const RequestPayer& value) { SetRequestPayer(value); return *this;}
inline GetBucketAccelerateConfigurationRequest& WithRequestPayer(RequestPayer&& value) { SetRequestPayer(std::move(value)); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline GetBucketAccelerateConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline GetBucketAccelerateConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketAccelerateConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
RequestPayer m_requestPayer;
bool m_requestPayerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/BucketAccelerateStatus.h>
#include <aws/s3/model/RequestCharged.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class GetBucketAccelerateConfigurationResult
{
public:
AWS_S3_API GetBucketAccelerateConfigurationResult();
AWS_S3_API GetBucketAccelerateConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API GetBucketAccelerateConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>The accelerate configuration of the bucket.</p>
*/
inline const BucketAccelerateStatus& GetStatus() const{ return m_status; }
inline void SetStatus(const BucketAccelerateStatus& value) { m_status = value; }
inline void SetStatus(BucketAccelerateStatus&& value) { m_status = std::move(value); }
inline GetBucketAccelerateConfigurationResult& WithStatus(const BucketAccelerateStatus& value) { SetStatus(value); return *this;}
inline GetBucketAccelerateConfigurationResult& WithStatus(BucketAccelerateStatus&& value) { SetStatus(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 GetBucketAccelerateConfigurationResult& WithRequestCharged(const RequestCharged& value) { SetRequestCharged(value); return *this;}
inline GetBucketAccelerateConfigurationResult& WithRequestCharged(RequestCharged&& value) { SetRequestCharged(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetBucketAccelerateConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetBucketAccelerateConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetBucketAccelerateConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
BucketAccelerateStatus m_status;
RequestCharged m_requestCharged;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,118 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class GetBucketAclRequest : public S3Request
{
public:
AWS_S3_API GetBucketAclRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetBucketAcl"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>Specifies the S3 bucket whose ACL is being requested.</p> <p>When you use
* this API operation with an access point, provide the alias of the access point
* in place of the bucket name.</p> <p>When you use this API operation with an
* Object Lambda access point, provide the alias of the Object Lambda access point
* in place of the bucket name. If the Object Lambda access point alias in a
* request is not valid, the error code <code>InvalidAccessPointAliasError</code>
* is returned. For more information about
* <code>InvalidAccessPointAliasError</code>, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList">List
* of Error Codes</a>.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline GetBucketAclRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline GetBucketAclRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline GetBucketAclRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline GetBucketAclRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline GetBucketAclRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline GetBucketAclRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline GetBucketAclRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline GetBucketAclRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline GetBucketAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline GetBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketAclRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline GetBucketAclRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketAclRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketAclRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,83 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/Owner.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/Grant.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class GetBucketAclResult
{
public:
AWS_S3_API GetBucketAclResult();
AWS_S3_API GetBucketAclResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API GetBucketAclResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>Container for the bucket owner's display name and ID.</p>
*/
inline const Owner& GetOwner() const{ return m_owner; }
inline void SetOwner(const Owner& value) { m_owner = value; }
inline void SetOwner(Owner&& value) { m_owner = std::move(value); }
inline GetBucketAclResult& WithOwner(const Owner& value) { SetOwner(value); return *this;}
inline GetBucketAclResult& WithOwner(Owner&& value) { SetOwner(std::move(value)); return *this;}
///@}
///@{
/**
* <p>A list of grants.</p>
*/
inline const Aws::Vector<Grant>& GetGrants() const{ return m_grants; }
inline void SetGrants(const Aws::Vector<Grant>& value) { m_grants = value; }
inline void SetGrants(Aws::Vector<Grant>&& value) { m_grants = std::move(value); }
inline GetBucketAclResult& WithGrants(const Aws::Vector<Grant>& value) { SetGrants(value); return *this;}
inline GetBucketAclResult& WithGrants(Aws::Vector<Grant>&& value) { SetGrants(std::move(value)); return *this;}
inline GetBucketAclResult& AddGrants(const Grant& value) { m_grants.push_back(value); return *this; }
inline GetBucketAclResult& AddGrants(Grant&& value) { m_grants.push_back(std::move(value)); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetBucketAclResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetBucketAclResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetBucketAclResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Owner m_owner;
Aws::Vector<Grant> m_grants;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,127 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class GetBucketAnalyticsConfigurationRequest : public S3Request
{
public:
AWS_S3_API GetBucketAnalyticsConfigurationRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetBucketAnalyticsConfiguration"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The name of the bucket from which an analytics configuration is
* retrieved.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline GetBucketAnalyticsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline GetBucketAnalyticsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline GetBucketAnalyticsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The ID that identifies the analytics configuration.</p>
*/
inline const Aws::String& GetId() const{ return m_id; }
inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
inline GetBucketAnalyticsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;}
inline GetBucketAnalyticsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
inline GetBucketAnalyticsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline GetBucketAnalyticsConfigurationRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline GetBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline GetBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_id;
bool m_idHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,66 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/model/AnalyticsConfiguration.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class GetBucketAnalyticsConfigurationResult
{
public:
AWS_S3_API GetBucketAnalyticsConfigurationResult();
AWS_S3_API GetBucketAnalyticsConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API GetBucketAnalyticsConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>The configuration and any analyses for the analytics filter.</p>
*/
inline const AnalyticsConfiguration& GetAnalyticsConfiguration() const{ return m_analyticsConfiguration; }
inline void SetAnalyticsConfiguration(const AnalyticsConfiguration& value) { m_analyticsConfiguration = value; }
inline void SetAnalyticsConfiguration(AnalyticsConfiguration&& value) { m_analyticsConfiguration = std::move(value); }
inline GetBucketAnalyticsConfigurationResult& WithAnalyticsConfiguration(const AnalyticsConfiguration& value) { SetAnalyticsConfiguration(value); return *this;}
inline GetBucketAnalyticsConfigurationResult& WithAnalyticsConfiguration(AnalyticsConfiguration&& value) { SetAnalyticsConfiguration(std::move(value)); return *this;}
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetBucketAnalyticsConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetBucketAnalyticsConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetBucketAnalyticsConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
AnalyticsConfiguration m_analyticsConfiguration;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,118 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class GetBucketCorsRequest : public S3Request
{
public:
AWS_S3_API GetBucketCorsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetBucketCors"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The bucket name for which to get the cors configuration.</p> <p>When you use
* this API operation with an access point, provide the alias of the access point
* in place of the bucket name.</p> <p>When you use this API operation with an
* Object Lambda access point, provide the alias of the Object Lambda access point
* in place of the bucket name. If the Object Lambda access point alias in a
* request is not valid, the error code <code>InvalidAccessPointAliasError</code>
* is returned. For more information about
* <code>InvalidAccessPointAliasError</code>, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList">List
* of Error Codes</a>.</p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline GetBucketCorsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline GetBucketCorsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline GetBucketCorsRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline GetBucketCorsRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline GetBucketCorsRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline GetBucketCorsRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline GetBucketCorsRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline GetBucketCorsRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline GetBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline GetBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketCorsRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline GetBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketCorsRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketCorsRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,70 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/s3/model/CORSRule.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Xml
{
class XmlDocument;
} // namespace Xml
} // namespace Utils
namespace S3
{
namespace Model
{
class GetBucketCorsResult
{
public:
AWS_S3_API GetBucketCorsResult();
AWS_S3_API GetBucketCorsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
AWS_S3_API GetBucketCorsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
///@{
/**
* <p>A set of origins and methods (cross-origin access that you want to allow).
* You can add up to 100 rules to the configuration.</p>
*/
inline const Aws::Vector<CORSRule>& GetCORSRules() const{ return m_cORSRules; }
inline void SetCORSRules(const Aws::Vector<CORSRule>& value) { m_cORSRules = value; }
inline void SetCORSRules(Aws::Vector<CORSRule>&& value) { m_cORSRules = std::move(value); }
inline GetBucketCorsResult& WithCORSRules(const Aws::Vector<CORSRule>& value) { SetCORSRules(value); return *this;}
inline GetBucketCorsResult& WithCORSRules(Aws::Vector<CORSRule>&& value) { SetCORSRules(std::move(value)); return *this;}
inline GetBucketCorsResult& AddCORSRules(const CORSRule& value) { m_cORSRules.push_back(value); return *this; }
inline GetBucketCorsResult& AddCORSRules(CORSRule&& value) { m_cORSRules.push_back(std::move(value)); return *this; }
///@}
///@{
inline const Aws::String& GetRequestId() const{ return m_requestId; }
inline void SetRequestId(const Aws::String& value) { m_requestId = value; }
inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); }
inline void SetRequestId(const char* value) { m_requestId.assign(value); }
inline GetBucketCorsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
inline GetBucketCorsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
inline GetBucketCorsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;}
///@}
private:
Aws::Vector<CORSRule> m_cORSRules;
Aws::String m_requestId;
};
} // namespace Model
} // namespace S3
} // namespace Aws

View File

@@ -0,0 +1,122 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/s3/S3_EXPORTS.h>
#include <aws/s3/S3Request.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class GetBucketEncryptionRequest : public S3Request
{
public:
AWS_S3_API GetBucketEncryptionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetBucketEncryption"; }
AWS_S3_API Aws::String SerializePayload() const override;
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p>The name of the bucket from which the server-side encryption configuration is
* retrieved.</p> <p> <b>Directory buckets </b> - When you use this operation with
* a directory bucket, you must use path-style requests in the format
* <code>https://s3express-control.<i>region_code</i>.amazonaws.com/<i>bucket-name</i>
* </code>. Virtual-hosted-style requests aren't supported. Directory bucket names
* must be unique in the chosen Availability Zone. Bucket names must also follow
* the format <code> <i>bucket_base_name</i>--<i>az_id</i>--x-s3</code> (for
* example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For
* information about bucket naming restrictions, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory
* bucket naming rules</a> in the <i>Amazon S3 User Guide</i> </p>
*/
inline const Aws::String& GetBucket() const{ return m_bucket; }
inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
inline GetBucketEncryptionRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline GetBucketEncryptionRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline GetBucketEncryptionRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p>The account ID of the expected bucket owner. If the account ID that you
* provide does not match the actual owner of the bucket, the request fails with
* the HTTP status code <code>403 Forbidden</code> (access denied).</p>
* <p>For directory buckets, this header is not supported in this API operation. If
* you specify this header, the request fails with the HTTP status code <code>501
* Not Implemented</code>.</p>
*/
inline const Aws::String& GetExpectedBucketOwner() const{ return m_expectedBucketOwner; }
inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
inline void SetExpectedBucketOwner(const Aws::String& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = value; }
inline void SetExpectedBucketOwner(Aws::String&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::move(value); }
inline void SetExpectedBucketOwner(const char* value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner.assign(value); }
inline GetBucketEncryptionRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline GetBucketEncryptionRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline GetBucketEncryptionRequest& WithExpectedBucketOwner(const char* value) { SetExpectedBucketOwner(value); return *this;}
///@}
///@{
inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
inline GetBucketEncryptionRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline GetBucketEncryptionRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline GetBucketEncryptionRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
///@}
private:
Aws::String m_bucket;
bool m_bucketHasBeenSet = false;
Aws::String m_expectedBucketOwner;
bool m_expectedBucketOwnerHasBeenSet = false;
Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
bool m_customizedAccessLogTagHasBeenSet = false;
};
} // namespace Model
} // namespace S3
} // namespace Aws

Some files were not shown because too many files have changed in this diff Show More