Skip to content

Commit 1e2db20

Browse files
Merge customizations for S3
1 parent 64d415e commit 1e2db20

File tree

220 files changed

+4359
-2239
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

220 files changed

+4359
-2239
lines changed

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h

Lines changed: 82 additions & 82 deletions
Large diffs are not rendered by default.

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/Checksum.h

Lines changed: 66 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#pragma once
77
#include <aws/s3-crt/S3Crt_EXPORTS.h>
88
#include <aws/core/utils/memory/stl/AWSString.h>
9+
#include <aws/s3-crt/model/ChecksumType.h>
910
#include <utility>
1011

1112
namespace Aws
@@ -40,12 +41,12 @@ namespace Model
4041

4142
///@{
4243
/**
43-
* <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be
44-
* present if it was uploaded with the object. When you use an API operation on an
45-
* object that was uploaded using multipart uploads, this value may not be a direct
46-
* checksum value of the full object. Instead, it's a calculation based on the
47-
* checksum values of each individual part. For more information about how
48-
* checksums are calculated with multipart uploads, see <a
44+
* <p>The Base64 encoded, 32-bit <code>CRC-32 checksum</code> of the object. This
45+
* checksum is only be present if the checksum was uploaded with the object. When
46+
* you use an API operation on an object that was uploaded using multipart uploads,
47+
* this value may not be a direct checksum value of the full object. Instead, it's
48+
* a calculation based on the checksum values of each individual part. For more
49+
* information about how checksums are calculated with multipart uploads, see <a
4950
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
5051
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
5152
*/
@@ -61,12 +62,12 @@ namespace Model
6162

6263
///@{
6364
/**
64-
* <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be
65-
* present if it was uploaded with the object. When you use an API operation on an
66-
* object that was uploaded using multipart uploads, this value may not be a direct
67-
* checksum value of the full object. Instead, it's a calculation based on the
68-
* checksum values of each individual part. For more information about how
69-
* checksums are calculated with multipart uploads, see <a
65+
* <p>The Base64 encoded, 32-bit <code>CRC-32C</code> checksum of the object. This
66+
* checksum is only present if the checksum was uploaded with the object. When you
67+
* use an API operation on an object that was uploaded using multipart uploads,
68+
* this value may not be a direct checksum value of the full object. Instead, it's
69+
* a calculation based on the checksum values of each individual part. For more
70+
* information about how checksums are calculated with multipart uploads, see <a
7071
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
7172
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
7273
*/
@@ -82,12 +83,32 @@ namespace Model
8283

8384
///@{
8485
/**
85-
* <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
86-
* present if it was uploaded with the object. When you use the API operation on an
87-
* object that was uploaded using multipart uploads, this value may not be a direct
88-
* checksum value of the full object. Instead, it's a calculation based on the
89-
* checksum values of each individual part. For more information about how
90-
* checksums are calculated with multipart uploads, see <a
86+
* <p>The Base64 encoded, 64-bit <code>CRC-64NVME</code> checksum of the object.
87+
* This checksum is present if the object was uploaded with the
88+
* <code>CRC-64NVME</code> checksum algorithm, or if the object was uploaded
89+
* without a checksum (and Amazon S3 added the default checksum,
90+
* <code>CRC-64NVME</code>, to the uploaded object). For more information, see <a
91+
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
92+
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
93+
*/
94+
inline const Aws::String& GetChecksumCRC64NVME() const{ return m_checksumCRC64NVME; }
95+
inline bool ChecksumCRC64NVMEHasBeenSet() const { return m_checksumCRC64NVMEHasBeenSet; }
96+
inline void SetChecksumCRC64NVME(const Aws::String& value) { m_checksumCRC64NVMEHasBeenSet = true; m_checksumCRC64NVME = value; }
97+
inline void SetChecksumCRC64NVME(Aws::String&& value) { m_checksumCRC64NVMEHasBeenSet = true; m_checksumCRC64NVME = std::move(value); }
98+
inline void SetChecksumCRC64NVME(const char* value) { m_checksumCRC64NVMEHasBeenSet = true; m_checksumCRC64NVME.assign(value); }
99+
inline Checksum& WithChecksumCRC64NVME(const Aws::String& value) { SetChecksumCRC64NVME(value); return *this;}
100+
inline Checksum& WithChecksumCRC64NVME(Aws::String&& value) { SetChecksumCRC64NVME(std::move(value)); return *this;}
101+
inline Checksum& WithChecksumCRC64NVME(const char* value) { SetChecksumCRC64NVME(value); return *this;}
102+
///@}
103+
104+
///@{
105+
/**
106+
* <p>The Base64 encoded, 160-bit <code>SHA-1</code> digest of the object. This
107+
* will only be present if the object was uploaded with the object. When you use
108+
* the API operation on an object that was uploaded using multipart uploads, this
109+
* value may not be a direct checksum value of the full object. Instead, it's a
110+
* calculation based on the checksum values of each individual part. For more
111+
* information about how checksums are calculated with multipart uploads, see <a
91112
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
92113
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
93114
*/
@@ -103,12 +124,12 @@ namespace Model
103124

104125
///@{
105126
/**
106-
* <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
107-
* present if it was uploaded with the object. When you use an API operation on an
108-
* object that was uploaded using multipart uploads, this value may not be a direct
109-
* checksum value of the full object. Instead, it's a calculation based on the
110-
* checksum values of each individual part. For more information about how
111-
* checksums are calculated with multipart uploads, see <a
127+
* <p>The Base64 encoded, 256-bit <code>SHA-256</code> digest of the object. This
128+
* will only be present if the object was uploaded with the object. When you use an
129+
* API operation on an object that was uploaded using multipart uploads, this value
130+
* may not be a direct checksum value of the full object. Instead, it's a
131+
* calculation based on the checksum values of each individual part. For more
132+
* information about how checksums are calculated with multipart uploads, see <a
112133
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums">
113134
* Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
114135
*/
@@ -121,6 +142,21 @@ namespace Model
121142
inline Checksum& WithChecksumSHA256(Aws::String&& value) { SetChecksumSHA256(std::move(value)); return *this;}
122143
inline Checksum& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;}
123144
///@}
145+
146+
///@{
147+
/**
148+
* <p>The checksum type that is used to calculate the object’s checksum value. For
149+
* more information, see <a
150+
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
151+
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
152+
*/
153+
inline const ChecksumType& GetChecksumType() const{ return m_checksumType; }
154+
inline bool ChecksumTypeHasBeenSet() const { return m_checksumTypeHasBeenSet; }
155+
inline void SetChecksumType(const ChecksumType& value) { m_checksumTypeHasBeenSet = true; m_checksumType = value; }
156+
inline void SetChecksumType(ChecksumType&& value) { m_checksumTypeHasBeenSet = true; m_checksumType = std::move(value); }
157+
inline Checksum& WithChecksumType(const ChecksumType& value) { SetChecksumType(value); return *this;}
158+
inline Checksum& WithChecksumType(ChecksumType&& value) { SetChecksumType(std::move(value)); return *this;}
159+
///@}
124160
private:
125161

126162
Aws::String m_checksumCRC32;
@@ -129,11 +165,17 @@ namespace Model
129165
Aws::String m_checksumCRC32C;
130166
bool m_checksumCRC32CHasBeenSet = false;
131167

168+
Aws::String m_checksumCRC64NVME;
169+
bool m_checksumCRC64NVMEHasBeenSet = false;
170+
132171
Aws::String m_checksumSHA1;
133172
bool m_checksumSHA1HasBeenSet = false;
134173

135174
Aws::String m_checksumSHA256;
136175
bool m_checksumSHA256HasBeenSet = false;
176+
177+
ChecksumType m_checksumType;
178+
bool m_checksumTypeHasBeenSet = false;
137179
};
138180

139181
} // namespace Model

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/ChecksumAlgorithm.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ namespace Model
1919
CRC32,
2020
CRC32C,
2121
SHA1,
22-
SHA256
22+
SHA256,
23+
CRC64NVME
2324
};
2425

2526
namespace ChecksumAlgorithmMapper
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
* SPDX-License-Identifier: Apache-2.0.
4+
*/
5+
6+
#pragma once
7+
#include <aws/s3-crt/S3Crt_EXPORTS.h>
8+
#include <aws/core/utils/memory/stl/AWSString.h>
9+
10+
namespace Aws
11+
{
12+
namespace S3Crt
13+
{
14+
namespace Model
15+
{
16+
enum class ChecksumType
17+
{
18+
NOT_SET,
19+
COMPOSITE,
20+
FULL_OBJECT
21+
};
22+
23+
namespace ChecksumTypeMapper
24+
{
25+
AWS_S3CRT_API ChecksumType GetChecksumTypeForName(const Aws::String& name);
26+
27+
AWS_S3CRT_API Aws::String GetNameForChecksumType(ChecksumType value);
28+
} // namespace ChecksumTypeMapper
29+
} // namespace Model
30+
} // namespace S3Crt
31+
} // namespace Aws

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/model/CompleteMultipartUploadRequest.h

Lines changed: 69 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <aws/s3-crt/S3CrtRequest.h>
99
#include <aws/core/utils/memory/stl/AWSString.h>
1010
#include <aws/s3-crt/model/CompletedMultipartUpload.h>
11+
#include <aws/s3-crt/model/ChecksumType.h>
1112
#include <aws/s3-crt/model/RequestPayer.h>
1213
#include <aws/core/utils/memory/stl/AWSMap.h>
1314
#include <utility>
@@ -136,8 +137,8 @@ namespace Model
136137
/**
137138
* <p>This header can be used as a data integrity check to verify that the data
138139
* received is the same data that was originally sent. This header specifies the
139-
* base64-encoded, 32-bit CRC-32 checksum of the object. For more information, see
140-
* <a
140+
* Base64 encoded, 32-bit <code>CRC-32</code> checksum of the object. For more
141+
* information, see <a
141142
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
142143
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
143144
*/
@@ -155,8 +156,8 @@ namespace Model
155156
/**
156157
* <p>This header can be used as a data integrity check to verify that the data
157158
* received is the same data that was originally sent. This header specifies the
158-
* base64-encoded, 32-bit CRC-32C checksum of the object. For more information, see
159-
* <a
159+
* Base64 encoded, 32-bit <code>CRC-32C</code> checksum of the object. For more
160+
* information, see <a
160161
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
161162
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
162163
*/
@@ -174,7 +175,28 @@ namespace Model
174175
/**
175176
* <p>This header can be used as a data integrity check to verify that the data
176177
* received is the same data that was originally sent. This header specifies the
177-
* base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a
178+
* Base64 encoded, 64-bit <code>CRC-64NVME</code> checksum of the object. The
179+
* <code>CRC-64NVME</code> checksum is always a full object checksum. For more
180+
* information, see <a
181+
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
182+
* object integrity in the Amazon S3 User Guide</a>.</p>
183+
*/
184+
inline const Aws::String& GetChecksumCRC64NVME() const{ return m_checksumCRC64NVME; }
185+
inline bool ChecksumCRC64NVMEHasBeenSet() const { return m_checksumCRC64NVMEHasBeenSet; }
186+
inline void SetChecksumCRC64NVME(const Aws::String& value) { m_checksumCRC64NVMEHasBeenSet = true; m_checksumCRC64NVME = value; }
187+
inline void SetChecksumCRC64NVME(Aws::String&& value) { m_checksumCRC64NVMEHasBeenSet = true; m_checksumCRC64NVME = std::move(value); }
188+
inline void SetChecksumCRC64NVME(const char* value) { m_checksumCRC64NVMEHasBeenSet = true; m_checksumCRC64NVME.assign(value); }
189+
inline CompleteMultipartUploadRequest& WithChecksumCRC64NVME(const Aws::String& value) { SetChecksumCRC64NVME(value); return *this;}
190+
inline CompleteMultipartUploadRequest& WithChecksumCRC64NVME(Aws::String&& value) { SetChecksumCRC64NVME(std::move(value)); return *this;}
191+
inline CompleteMultipartUploadRequest& WithChecksumCRC64NVME(const char* value) { SetChecksumCRC64NVME(value); return *this;}
192+
///@}
193+
194+
///@{
195+
/**
196+
* <p>This header can be used as a data integrity check to verify that the data
197+
* received is the same data that was originally sent. This header specifies the
198+
* Base64 encoded, 160-bit <code>SHA-1</code> digest of the object. For more
199+
* information, see <a
178200
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
179201
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
180202
*/
@@ -192,8 +214,8 @@ namespace Model
192214
/**
193215
* <p>This header can be used as a data integrity check to verify that the data
194216
* received is the same data that was originally sent. This header specifies the
195-
* base64-encoded, 256-bit SHA-256 digest of the object. For more information, see
196-
* <a
217+
* Base64 encoded, 256-bit <code>SHA-256</code> digest of the object. For more
218+
* information, see <a
197219
* href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking
198220
* object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
199221
*/
@@ -207,6 +229,37 @@ namespace Model
207229
inline CompleteMultipartUploadRequest& WithChecksumSHA256(const char* value) { SetChecksumSHA256(value); return *this;}
208230
///@}
209231

232+
///@{
233+
/**
234+
* <p>This header specifies the checksum type of the object, which determines how
235+
* part-level checksums are combined to create an object-level checksum for
236+
* multipart objects. You can use this header as a data integrity check to verify
237+
* that the checksum type that is received is the same checksum that was specified.
238+
* If the checksum type doesn’t match the checksum type that was specified for the
239+
* object during the <code>CreateMultipartUpload</code> request, it’ll result in a
240+
* <code>BadDigest</code> error. For more information, see Checking object
241+
* integrity in the Amazon S3 User Guide. </p>
242+
*/
243+
inline const ChecksumType& GetChecksumType() const{ return m_checksumType; }
244+
inline bool ChecksumTypeHasBeenSet() const { return m_checksumTypeHasBeenSet; }
245+
inline void SetChecksumType(const ChecksumType& value) { m_checksumTypeHasBeenSet = true; m_checksumType = value; }
246+
inline void SetChecksumType(ChecksumType&& value) { m_checksumTypeHasBeenSet = true; m_checksumType = std::move(value); }
247+
inline CompleteMultipartUploadRequest& WithChecksumType(const ChecksumType& value) { SetChecksumType(value); return *this;}
248+
inline CompleteMultipartUploadRequest& WithChecksumType(ChecksumType&& value) { SetChecksumType(std::move(value)); return *this;}
249+
///@}
250+
251+
///@{
252+
/**
253+
* <p> The expected total object size of the multipart upload request. If there’s a
254+
* mismatch between the specified object size value and the actual object size
255+
* value, it results in an <code>HTTP 400 InvalidRequest</code> error. </p>
256+
*/
257+
inline int GetMpuObjectSize() const{ return m_mpuObjectSize; }
258+
inline bool MpuObjectSizeHasBeenSet() const { return m_mpuObjectSizeHasBeenSet; }
259+
inline void SetMpuObjectSize(int value) { m_mpuObjectSizeHasBeenSet = true; m_mpuObjectSize = value; }
260+
inline CompleteMultipartUploadRequest& WithMpuObjectSize(int value) { SetMpuObjectSize(value); return *this;}
261+
///@}
262+
210263
///@{
211264

212265
inline const RequestPayer& GetRequestPayer() const{ return m_requestPayer; }
@@ -374,12 +427,21 @@ namespace Model
374427
Aws::String m_checksumCRC32C;
375428
bool m_checksumCRC32CHasBeenSet = false;
376429

430+
Aws::String m_checksumCRC64NVME;
431+
bool m_checksumCRC64NVMEHasBeenSet = false;
432+
377433
Aws::String m_checksumSHA1;
378434
bool m_checksumSHA1HasBeenSet = false;
379435

380436
Aws::String m_checksumSHA256;
381437
bool m_checksumSHA256HasBeenSet = false;
382438

439+
ChecksumType m_checksumType;
440+
bool m_checksumTypeHasBeenSet = false;
441+
442+
int m_mpuObjectSize;
443+
bool m_mpuObjectSizeHasBeenSet = false;
444+
383445
RequestPayer m_requestPayer;
384446
bool m_requestPayerHasBeenSet = false;
385447

0 commit comments

Comments
 (0)