File size: 10,311 Bytes
bfd87b5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | /**
* 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/ChecksumAlgorithm.h>
#include <aws/s3/model/MetadataTableConfiguration.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace S3
{
namespace Model
{
/**
*/
class CreateBucketMetadataTableConfigurationRequest : public S3Request
{
public:
AWS_S3_API CreateBucketMetadataTableConfigurationRequest();
// 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 "CreateBucketMetadataTableConfiguration"; }
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 Aws::String GetChecksumAlgorithmName() const override;
inline bool RequestChecksumRequired() const override { return true; };
/**
* Helper function to collect parameters (configurable and static hardcoded) required for endpoint computation.
*/
AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
///@{
/**
* <p> The general purpose bucket that you want to create the metadata table
* configuration in. </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 CreateBucketMetadataTableConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
///@}
///@{
/**
* <p> The <code>Content-MD5</code> header for the metadata table configuration.
* </p>
*/
inline const Aws::String& GetContentMD5() const{ return m_contentMD5; }
inline bool ContentMD5HasBeenSet() const { return m_contentMD5HasBeenSet; }
inline void SetContentMD5(const Aws::String& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = value; }
inline void SetContentMD5(Aws::String&& value) { m_contentMD5HasBeenSet = true; m_contentMD5 = std::move(value); }
inline void SetContentMD5(const char* value) { m_contentMD5HasBeenSet = true; m_contentMD5.assign(value); }
inline CreateBucketMetadataTableConfigurationRequest& WithContentMD5(const Aws::String& value) { SetContentMD5(value); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& WithContentMD5(Aws::String&& value) { SetContentMD5(std::move(value)); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& WithContentMD5(const char* value) { SetContentMD5(value); return *this;}
///@}
///@{
/**
* <p> The checksum algorithm to use with your metadata table configuration. </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 CreateBucketMetadataTableConfigurationRequest& WithChecksumAlgorithm(const ChecksumAlgorithm& value) { SetChecksumAlgorithm(value); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& WithChecksumAlgorithm(ChecksumAlgorithm&& value) { SetChecksumAlgorithm(std::move(value)); return *this;}
///@}
///@{
/**
* <p> The contents of your metadata table configuration. </p>
*/
inline const MetadataTableConfiguration& GetMetadataTableConfiguration() const{ return m_metadataTableConfiguration; }
inline bool MetadataTableConfigurationHasBeenSet() const { return m_metadataTableConfigurationHasBeenSet; }
inline void SetMetadataTableConfiguration(const MetadataTableConfiguration& value) { m_metadataTableConfigurationHasBeenSet = true; m_metadataTableConfiguration = value; }
inline void SetMetadataTableConfiguration(MetadataTableConfiguration&& value) { m_metadataTableConfigurationHasBeenSet = true; m_metadataTableConfiguration = std::move(value); }
inline CreateBucketMetadataTableConfigurationRequest& WithMetadataTableConfiguration(const MetadataTableConfiguration& value) { SetMetadataTableConfiguration(value); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& WithMetadataTableConfiguration(MetadataTableConfiguration&& value) { SetMetadataTableConfiguration(std::move(value)); return *this;}
///@}
///@{
/**
* <p> The expected owner of the general purpose bucket that contains your metadata
* table configuration. </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 CreateBucketMetadataTableConfigurationRequest& WithExpectedBucketOwner(const Aws::String& value) { SetExpectedBucketOwner(value); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& WithExpectedBucketOwner(Aws::String&& value) { SetExpectedBucketOwner(std::move(value)); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& 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 CreateBucketMetadataTableConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
inline CreateBucketMetadataTableConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
inline CreateBucketMetadataTableConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CreateBucketMetadataTableConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CreateBucketMetadataTableConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
inline CreateBucketMetadataTableConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
inline CreateBucketMetadataTableConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
inline CreateBucketMetadataTableConfigurationRequest& 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_contentMD5;
bool m_contentMD5HasBeenSet = false;
ChecksumAlgorithm m_checksumAlgorithm;
bool m_checksumAlgorithmHasBeenSet = false;
MetadataTableConfiguration m_metadataTableConfiguration;
bool m_metadataTableConfigurationHasBeenSet = 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
|