Skip to content

Commit

Permalink
Flexible Checksums V2 (#3967)
Browse files Browse the repository at this point in the history
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here -->
Flexible checksums V2 will be launching this week

## Description
<!--- Describe your changes in detail -->

## Testing
<!--- Please describe in detail how you tested your changes -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

## Checklist
<!--- If a checkbox below is not applicable, then please DELETE it
rather than leaving it unchecked -->
- [x] For changes to the smithy-rs codegen or runtime crates, I have
created a changelog entry Markdown file in the `.changelog` directory,
specifying "client," "server," or both in the `applies_to` key.
- [x] For changes to the AWS SDK, generated SDK code, or SDK runtime
crates, I have created a changelog entry Markdown file in the
`.changelog` directory, specifying "aws-sdk-rust" in the `applies_to`
key.

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._

---------

Co-authored-by: Zelda Hessler <[email protected]>
Co-authored-by: Aaron Todd <[email protected]>
  • Loading branch information
3 people authored Jan 14, 2025
1 parent cadce6c commit f7f037d
Show file tree
Hide file tree
Showing 46 changed files with 3,135 additions and 408 deletions.
10 changes: 10 additions & 0 deletions .changelog/flexible-checksums-client.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
applies_to: ["client"]
authors: ["landonxjames"]
references: ["smithy-rs#3967"]
breaking: false
new_feature: true
bug_fix: true
---

Updates client generation to conform with Smithy's updates to the [httpChecksum trait](https://smithy.io/2.0/aws/aws-core.html#aws-protocols-httpchecksum-trait).
12 changes: 12 additions & 0 deletions .changelog/flexible-checksums-s3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
applies_to: ["client", "aws-sdk-rust"]
authors: ["landonxjames"]
references: ["smithy-rs#3845"]
breaking: false
new_feature: true
bug_fix: true
---

S3 client behavior is updated to always calculate a checksum by default for operations that support it (such as PutObject or UploadPart), or require it (such as DeleteObjects). The default checksum algorithm is CRC32. Checksum behavior can be configured using `when_supported` and `when_required` options - in shared config using request_checksum_calculation, or as env variable using AWS_REQUEST_CHECKSUM_CALCULATION.

The S3 client attempts to validate response checksums for all S3 API operations that support checksums. However, if the SDK has not implemented the specified checksum algorithm then this validation is skipped. Checksum validation behavior can be configured using `when_supported` and `when_required` options - in shared config using response_checksum_validation, or as env variable using AWS_RESPONSE_CHECKSUM_VALIDATION.
188 changes: 180 additions & 8 deletions aws/rust-runtime/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit f7f037d

Please sign in to comment.