-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add support for flexible checksums on Normal payloads #1304
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a question about getOrNull()
operationShape: OperationShape, | ||
operationMiddleware: OperationMiddleware, | ||
) { | ||
val httpChecksumTrait = operationShape.getTrait(HttpChecksumTrait::class.java).getOrNull() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the same .getOrNull()
that I'm eliminating in the XML branch?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(I think we decided to use .orElse(null)
which is a Kotlin built-in)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the .orElse(null)
we were talking about I believe works on Java types not Kotlin types where we prefer to use ?.
that work on optionals. I can check where .getOrNull() is used and see if we can switch it over to the kotlin optionals. It seems like that method .getOrNull() was created to work on either Java or Kotlin types
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm
* chore!: Require Swift 5.7, fix deprecation warnings (#1173) * feat: support initial-response in RPC based event streams (#1165) * chore: bump models (#1178) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Updates version to 0.28.0 * add visionOS support to useragent (#1182) * chore: Remove all models before copying in latest versions (#1185) * chore: update models (#1187) * chore: Update to aws-crt-swift 0.15.0 (#1188) * chore: Updates version to 0.29.0 * chore: Update swiftlint to 0.53.0 (#1192) * chore: End the SDK package manifest with a newline (#1203) * fix: Update CRT dependency to 0.17.0 (#1210) * chore: Updates version to 0.30.0 * chore: Clean up unnecessary TODOs + move test functions to a better location (#1209) * feat: expose presign / presignURL methods in Models.swift to service client object (#1198) * Add codegen to expose presign / presignURL methods on service client object. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Bump models in prep for release 0.31.0 (#1218) * chore: Updates version to 0.31.0 * fix: add s3 control to list of service clients that should have useSignedBodyHeader (#1219) * update SQS to latest model that uses aws json protocol + add integration test (#1233) * fix: Fix tests related to operation doc header (#1231) * fix: Codegen issues re: recursion, Swift keywords in unions (#1237) * fix: Integration test crashes on failure, build warning (#1239) * feat!: Replace the XML encoder with a custom Smithy implementation (#1224) * chore: Modernize the codegen-build-test CI workflow (#1240) * chore: Modernize the codegen-build-test-on-comment CI workflow (#1243) * fix: Fix ref used for smithy-swift checkout in codegen-build-test-on-comment (#1244) * feat!: Use closures for processing HTTP response (#1242) * add IsTruncated pagination customization for S3 ListParts (#1245) * feat: Publish documentation to public distribution (#1232) * fix: Fix script for extracting version from GH ref (#1247) * chore: Codegen dev script takes args for manifest generator (#1246) * fix: Use bash to run doc generator version step (#1248) * chore: Update models (#1252) * chore: Updates version to 0.32.0 * fix: DocC post-testing fixes (#1249) * chore: Run tvOS old & new in CI (#1253) * feat: Package manifest generator improvements (#1250) * fix: Use new manifest generator options to run protocol & unit tests in CI (#1257) * chore: remove use of HttpBody and replace with ByteStream (#1254) * fix: Remove codegen-build-test-on-comment workflow (#1262) * chore: update smithy to 1.42.0 (#1261) * feat: Add codegen-build-test workflow to pull requests (#1263) * fix: codegen-build-test with workflow dispatch & custom branch names (#1265) * fix integration tests (#1268) * chore: bump models (#1270) * chore: Updates version to 0.33.0 * fix: Batch documentation modules properly (#1274) * chore: Update to aws-crt-swift 0.20.0 (#1275) * fix: update partitions to latest fixes failing endpoints tests (#1277) * feat: handle errors in 200 response from S3 (#1266) * chore: Use Xcode 15.1 as CI latest version (#1286) * Delete unnecessary TODO item. (#1288) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * feat!: Use Foundation-based HTTP client on Apple platforms (#1282) * fix integration tests to conform to latest HTTPClient change (#1295) * chore: update to CRT 0.22.0 (#1296) * chore: Update smithy-swift to 0.38.0 (#1298) * chore: Update .spi.yml (#1297) * Delete bundle region provider. (#1290) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * fix!: Refactor resolveRegion method name to getRegion for consistency. (#1291) * Refactor resolveRegion method name to getRegion for consistency. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Update models (#1301) * fix: Preserve data after reading response body stream in S3/200 middleware (#1303) * chore: Updates version to 0.34.0 * feat: Add integration tests to CI (#1308) * feat!: Provide HTTP request components by closure instead of protocol (#1317) * chore: Updated codegen (#1320) * chore: Remove several unneeded services from codegen for integration tests (#1316) * feat!: Eliminate service client protocols (#1322) * chore: Update generated code (#1326) * feat: add support for flexible checksums on Normal payloads (#1304) * chore: Update aws-crt-swift to 0.26.0 (#1335) * chore: Use Apple Silicon for codegen-build-test on CI (#1336) * Checkout main branch's Sources/Services/ and Tests/Services/ into chore/merge-changes-from-main. * Attempt #2. * Edit the new flexible checksum codegen test to include I&A stuff. * Add back accidentally removed list of services for new integration tests to sdk.properties. --------- Co-authored-by: Josh Elkins <jbelkins@users.noreply.github.com> Co-authored-by: David Yaffe <dayaffe@amazon.com> Co-authored-by: Sichan Yoo <chanyoo@amazon.com> Co-authored-by: AWS SDK Swift Automation <github-aws-sdk-swift-automation@amazon.com> Co-authored-by: Sven A. Schmidt <sas@finestructure.co>
* chore: Refactor existing identity structure to use new identity protocols in smithy-swift (#1150) * Refactor existing structure to use new identity protocols in smithy-swift. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * feat: Move over signing flow from SigV4Middleware into AWSSigV4Signer (#1167) * Add signer changes. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * feat: auth scheme changes (#1174) * Add signer changes. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * feat: middleware changes (#1180) * Add signing properties customization hook implementation to sigv4 auth scheme, used via polymorphism in AuthSchemeMiddleware. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * feat: codegen changes (#1190) * Replace SigV4Middleware with SigningMiddleware for normal request signing flow codegen, add in auth scheme resolver generator and auth scheme middleware usage to codegen flow, and add auth schem and auth scheme resolver to service specific config construction call. * Update test cases to include auth schemes & auth scheme resolver in middleware context construction, and to include auth scheme middleware and signer middleware in operation stack. * Update sdkId source. * Move region in middleware context from sdk to smithy. * Make auth scheme resolver associated type of service specific config oject. * Move auth schemes from service specific config to general AWS config. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: update epic branch with new changes in main (#1220) * chore!: Require Swift 5.7, fix deprecation warnings (#1173) * feat: support initial-response in RPC based event streams (#1165) * chore: bump models (#1178) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Updates version to 0.28.0 * add visionOS support to useragent (#1182) * chore: Remove all models before copying in latest versions (#1185) * chore: update models (#1187) * chore: Update to aws-crt-swift 0.15.0 (#1188) * chore: Updates version to 0.29.0 * chore: Update swiftlint to 0.53.0 (#1192) * chore: End the SDK package manifest with a newline (#1203) * fix: Update CRT dependency to 0.17.0 (#1210) * chore: Updates version to 0.30.0 * chore: Clean up unnecessary TODOs + move test functions to a better location (#1209) * feat: expose presign / presignURL methods in Models.swift to service client object (#1198) * Add codegen to expose presign / presignURL methods on service client object. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Bump models in prep for release 0.31.0 (#1218) * chore: Updates version to 0.31.0 * fix: add s3 control to list of service clients that should have useSignedBodyHeader (#1219) --------- Co-authored-by: Josh Elkins <jbelkins@users.noreply.github.com> Co-authored-by: David Yaffe <dayaffe@amazon.com> Co-authored-by: Sichan Yoo <chanyoo@amazon.com> Co-authored-by: AWS SDK Swift Automation <github-aws-sdk-swift-automation@amazon.com> * feat: customizations (#1221) * Add customizations to auth resolve process. Rules-based auth scheme resolver work wrap-up. Wrap-up rules-based resolver customization and presign / presign-url flow refactors. Refactor eventstream signing. Update test cases to include auth schemes & auth scheme resolver in middleware context construction, and to include auth scheme middleware and signer middleware in operation stack. Move requestSignature getter, setter, and attribute key to generic middleware context in smithy-swift. Update event stream test cases. Move setting signing algorithm property from auth scheme resolver to auth scheme customization hook. Add necessary enum import for rules based auth scheme resolver codegen. Add codegen test for rules based auth scheme resolver generation. * Refactor setUpBidirectionalStreaming in HttpContext extension to make it more readable. * Add SigV4Util and refactor signing properties customization of SigV4 and SigV4A AuthSchemes to make it more scalable. * Refactor eventstream message signing to accept any custom signer that conforms to ClientRuntime.Signer protocol. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: merge most recent main into I&A project branch (#1293) * chore!: Require Swift 5.7, fix deprecation warnings (#1173) * feat: support initial-response in RPC based event streams (#1165) * chore: bump models (#1178) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Updates version to 0.28.0 * add visionOS support to useragent (#1182) * chore: Remove all models before copying in latest versions (#1185) * chore: update models (#1187) * chore: Update to aws-crt-swift 0.15.0 (#1188) * chore: Updates version to 0.29.0 * chore: Update swiftlint to 0.53.0 (#1192) * chore: End the SDK package manifest with a newline (#1203) * fix: Update CRT dependency to 0.17.0 (#1210) * chore: Updates version to 0.30.0 * chore: Clean up unnecessary TODOs + move test functions to a better location (#1209) * feat: expose presign / presignURL methods in Models.swift to service client object (#1198) * Add codegen to expose presign / presignURL methods on service client object. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Bump models in prep for release 0.31.0 (#1218) * chore: Updates version to 0.31.0 * fix: add s3 control to list of service clients that should have useSignedBodyHeader (#1219) * update SQS to latest model that uses aws json protocol + add integration test (#1233) * fix: Fix tests related to operation doc header (#1231) * fix: Codegen issues re: recursion, Swift keywords in unions (#1237) * fix: Integration test crashes on failure, build warning (#1239) * feat!: Replace the XML encoder with a custom Smithy implementation (#1224) * chore: Modernize the codegen-build-test CI workflow (#1240) * chore: Modernize the codegen-build-test-on-comment CI workflow (#1243) * fix: Fix ref used for smithy-swift checkout in codegen-build-test-on-comment (#1244) * feat!: Use closures for processing HTTP response (#1242) * add IsTruncated pagination customization for S3 ListParts (#1245) * feat: Publish documentation to public distribution (#1232) * fix: Fix script for extracting version from GH ref (#1247) * chore: Codegen dev script takes args for manifest generator (#1246) * fix: Use bash to run doc generator version step (#1248) * chore: Update models (#1252) * chore: Updates version to 0.32.0 * fix: DocC post-testing fixes (#1249) * chore: Run tvOS old & new in CI (#1253) * feat: Package manifest generator improvements (#1250) * fix: Use new manifest generator options to run protocol & unit tests in CI (#1257) * chore: remove use of HttpBody and replace with ByteStream (#1254) * fix: Remove codegen-build-test-on-comment workflow (#1262) * chore: update smithy to 1.42.0 (#1261) * feat: Add codegen-build-test workflow to pull requests (#1263) * fix: codegen-build-test with workflow dispatch & custom branch names (#1265) * fix integration tests (#1268) * chore: bump models (#1270) * chore: Updates version to 0.33.0 * fix: Batch documentation modules properly (#1274) * chore: Update to aws-crt-swift 0.20.0 (#1275) * fix: update partitions to latest fixes failing endpoints tests (#1277) * feat: handle errors in 200 response from S3 (#1266) * chore: Use Xcode 15.1 as CI latest version (#1286) * Delete unnecessary TODO item. (#1288) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * Update models. * feat!: Use Foundation-based HTTP client on Apple platforms (#1282) * Fix models. * Fix test cases to reflect I&A codegen changes. --------- Co-authored-by: Josh Elkins <jbelkins@users.noreply.github.com> Co-authored-by: David Yaffe <dayaffe@amazon.com> Co-authored-by: Sichan Yoo <chanyoo@amazon.com> Co-authored-by: AWS SDK Swift Automation <github-aws-sdk-swift-automation@amazon.com> * feat: tie up some loose ends (#1300) * Add S3 control to list of services that use signed body & fix wrong method name in SigV4Util. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Merge updates from main into project epic branch (#1325) * chore!: Require Swift 5.7, fix deprecation warnings (#1173) * feat: support initial-response in RPC based event streams (#1165) * chore: bump models (#1178) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Updates version to 0.28.0 * add visionOS support to useragent (#1182) * chore: Remove all models before copying in latest versions (#1185) * chore: update models (#1187) * chore: Update to aws-crt-swift 0.15.0 (#1188) * chore: Updates version to 0.29.0 * chore: Update swiftlint to 0.53.0 (#1192) * chore: End the SDK package manifest with a newline (#1203) * fix: Update CRT dependency to 0.17.0 (#1210) * chore: Updates version to 0.30.0 * chore: Clean up unnecessary TODOs + move test functions to a better location (#1209) * feat: expose presign / presignURL methods in Models.swift to service client object (#1198) * Add codegen to expose presign / presignURL methods on service client object. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Bump models in prep for release 0.31.0 (#1218) * chore: Updates version to 0.31.0 * fix: add s3 control to list of service clients that should have useSignedBodyHeader (#1219) * update SQS to latest model that uses aws json protocol + add integration test (#1233) * fix: Fix tests related to operation doc header (#1231) * fix: Codegen issues re: recursion, Swift keywords in unions (#1237) * fix: Integration test crashes on failure, build warning (#1239) * feat!: Replace the XML encoder with a custom Smithy implementation (#1224) * chore: Modernize the codegen-build-test CI workflow (#1240) * chore: Modernize the codegen-build-test-on-comment CI workflow (#1243) * fix: Fix ref used for smithy-swift checkout in codegen-build-test-on-comment (#1244) * feat!: Use closures for processing HTTP response (#1242) * add IsTruncated pagination customization for S3 ListParts (#1245) * feat: Publish documentation to public distribution (#1232) * fix: Fix script for extracting version from GH ref (#1247) * chore: Codegen dev script takes args for manifest generator (#1246) * fix: Use bash to run doc generator version step (#1248) * chore: Update models (#1252) * chore: Updates version to 0.32.0 * fix: DocC post-testing fixes (#1249) * chore: Run tvOS old & new in CI (#1253) * feat: Package manifest generator improvements (#1250) * fix: Use new manifest generator options to run protocol & unit tests in CI (#1257) * chore: remove use of HttpBody and replace with ByteStream (#1254) * fix: Remove codegen-build-test-on-comment workflow (#1262) * chore: update smithy to 1.42.0 (#1261) * feat: Add codegen-build-test workflow to pull requests (#1263) * fix: codegen-build-test with workflow dispatch & custom branch names (#1265) * fix integration tests (#1268) * chore: bump models (#1270) * chore: Updates version to 0.33.0 * fix: Batch documentation modules properly (#1274) * chore: Update to aws-crt-swift 0.20.0 (#1275) * fix: update partitions to latest fixes failing endpoints tests (#1277) * feat: handle errors in 200 response from S3 (#1266) * chore: Use Xcode 15.1 as CI latest version (#1286) * Delete unnecessary TODO item. (#1288) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * feat!: Use Foundation-based HTTP client on Apple platforms (#1282) * fix integration tests to conform to latest HTTPClient change (#1295) * chore: update to CRT 0.22.0 (#1296) * chore: Update smithy-swift to 0.38.0 (#1298) * chore: Update .spi.yml (#1297) * Delete bundle region provider. (#1290) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * fix!: Refactor resolveRegion method name to getRegion for consistency. (#1291) * Refactor resolveRegion method name to getRegion for consistency. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Update models (#1301) * fix: Preserve data after reading response body stream in S3/200 middleware (#1303) * chore: Updates version to 0.34.0 * feat: Add integration tests to CI (#1308) * feat!: Provide HTTP request components by closure instead of protocol (#1317) * Update models with latest from main. * Add needed fix for making integration tests pass. * Fix input to private init of AWSClientConfig. --------- Co-authored-by: Josh Elkins <jbelkins@users.noreply.github.com> Co-authored-by: David Yaffe <dayaffe@amazon.com> Co-authored-by: Sichan Yoo <chanyoo@amazon.com> Co-authored-by: AWS SDK Swift Automation <github-aws-sdk-swift-automation@amazon.com> Co-authored-by: Sven A. Schmidt <sas@finestructure.co> * feat: test-suite (#1315) * chore!: Require Swift 5.7, fix deprecation warnings (#1173) * feat: support initial-response in RPC based event streams (#1165) * chore: bump models (#1178) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Updates version to 0.28.0 * add visionOS support to useragent (#1182) * chore: Remove all models before copying in latest versions (#1185) * chore: update models (#1187) * chore: Update to aws-crt-swift 0.15.0 (#1188) * chore: Updates version to 0.29.0 * chore: Update swiftlint to 0.53.0 (#1192) * chore: End the SDK package manifest with a newline (#1203) * fix: Update CRT dependency to 0.17.0 (#1210) * chore: Updates version to 0.30.0 * chore: Clean up unnecessary TODOs + move test functions to a better location (#1209) * feat: expose presign / presignURL methods in Models.swift to service client object (#1198) * Add codegen to expose presign / presignURL methods on service client object. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Bump models in prep for release 0.31.0 (#1218) * chore: Updates version to 0.31.0 * fix: add s3 control to list of service clients that should have useSignedBodyHeader (#1219) * Add customizations to auth resolve process. Rules-based auth scheme resolver work wrap-up. Wrap-up rules-based resolver customization and presign / presign-url flow refactors. Refactor eventstream signing. Update test cases to include auth schemes & auth scheme resolver in middleware context construction, and to include auth scheme middleware and signer middleware in operation stack. Move requestSignature getter, setter, and attribute key to generic middleware context in smithy-swift. Update event stream test cases. Move setting signing algorithm property from auth scheme resolver to auth scheme customization hook. Add necessary enum import for rules based auth scheme resolver codegen. Add codegen test for rules based auth scheme resolver generation. * Fix swiftlint. * Fix swiftlint. * Refactor setUpBidirectionalStreaming in HttpContext extension to make it more readable. * Add SigV4Util and refactor signing properties customization of SigV4 and SigV4A AuthSchemes to make it more scalable. * Remove duplicate presign flag logic. * Refactor eventstream message signing to accept any custom signer that conforms to ClientRuntime.Signer protocol. * Fix swiftlint. * Fix method name in SigV4Util and update usage in auth schemes accordingly. Also, remove duplicate AttributeKey (expiration) from AWS's HttpContext extension. * Add tests for SigV4AuthScheme signing properties customization, as well as SigV4Util. * Refactor or delete deprecated signing components and tests. - Rename `AWSSigningMiddleware.kt` to `SigV4Utils.kt` and delete generator code for `SigV4Middleware`. Update companion object method calls and import statements in other files accordingly. - Refactor tests for `AWSSigningMiddlewareTests.kt` and change name to `SigV4UtilsTests.kt` to only test for companion object methods. - Delete `AWSSigningParams.kt` and all of its tests, including tests for `SigV4Configurator`. These tests have been moved to Swift side, in tests for auth schemes. * Delete SigV4Config and SigV4Middleware. * SigV4Signer tests - wip. * update SQS to latest model that uses aws json protocol + add integration test (#1233) * fix: Fix tests related to operation doc header (#1231) * fix: Codegen issues re: recursion, Swift keywords in unions (#1237) * fix: Integration test crashes on failure, build warning (#1239) * feat!: Replace the XML encoder with a custom Smithy implementation (#1224) * chore: Modernize the codegen-build-test CI workflow (#1240) * chore: Modernize the codegen-build-test-on-comment CI workflow (#1243) * fix: Fix ref used for smithy-swift checkout in codegen-build-test-on-comment (#1244) * feat!: Use closures for processing HTTP response (#1242) * add IsTruncated pagination customization for S3 ListParts (#1245) * feat: Publish documentation to public distribution (#1232) * fix: Fix script for extracting version from GH ref (#1247) * chore: Codegen dev script takes args for manifest generator (#1246) * fix: Use bash to run doc generator version step (#1248) * chore: Update models (#1252) * chore: Updates version to 0.32.0 * fix: DocC post-testing fixes (#1249) * chore: Run tvOS old & new in CI (#1253) * feat: Package manifest generator improvements (#1250) * fix: Use new manifest generator options to run protocol & unit tests in CI (#1257) * chore: remove use of HttpBody and replace with ByteStream (#1254) * fix: Remove codegen-build-test-on-comment workflow (#1262) * chore: update smithy to 1.42.0 (#1261) * feat: Add codegen-build-test workflow to pull requests (#1263) * fix: codegen-build-test with workflow dispatch & custom branch names (#1265) * fix integration tests (#1268) * chore: bump models (#1270) * chore: Updates version to 0.33.0 * fix: Batch documentation modules properly (#1274) * chore: Update to aws-crt-swift 0.20.0 (#1275) * fix: update partitions to latest fixes failing endpoints tests (#1277) * feat: handle errors in 200 response from S3 (#1266) * chore: Use Xcode 15.1 as CI latest version (#1286) * Delete unnecessary TODO item. (#1288) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * feat!: Use Foundation-based HTTP client on Apple platforms (#1282) * fix integration tests to conform to latest HTTPClient change (#1295) * chore: update to CRT 0.22.0 (#1296) * chore: Update smithy-swift to 0.38.0 (#1298) * chore: Update .spi.yml (#1297) * Delete bundle region provider. (#1290) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * fix!: Refactor resolveRegion method name to getRegion for consistency. (#1291) * Refactor resolveRegion method name to getRegion for consistency. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * Add tests for SigV4Util::setS3SpecificFlags method. * Add do-catch to tests for changed method header. * Add in missing try keyword. * Add a way to fix a date for AWSSigV4Signer::signRequest, and add tests for AWSSigV4Signer::signRequest. * Add SigV4 x Presigned Request integration tests using STS::getCallerIdentity and S3::putObject. * Rename integration test directory and file for STS to be more specific. * Update S3ErrorWith200 middleware to fix S3XCTestCase::tearDown(). Delete tearDown() from presigned request integration test now that it is redundant. * chore: Update models (#1301) * fix: Preserve data after reading response body stream in S3/200 middleware (#1303) * chore: Updates version to 0.34.0 * Add EventStream Sigv4A integration test & add a test target dependency to Package.Base.swift. * Improve comments and variable names on the EventBridge integration test. * Update documentation comment to mention correct description of the test class. * Remove unncessary string literal in code. * Increase pause timer to prevent spurious failures. * Add SigV4A integration test that uses S3's multi-region access point. * feat: Add integration tests to CI (#1308) * Finish SigV4A integration tests that use S3 MRAP. * Add SigV4A signing flow integration test that uses CloudFrontKeyValueStore. * Fix SQS interation test that wasn't working in main branch either; client initializer needed a region specified. * Add auth scheme resolving step for convenience inits of client config in case they aren't provided. * Fix ktlint. * feat!: Provide HTTP request components by closure instead of protocol (#1317) * Address PR comments from Josh. * Update models to match ones in main branch. * Add newly necessary services to integration test sdk.properties. * Fix undefined variable. * Add conditional import for URLRequest. * Fix SigV4A EventBridge integration test. * Add time buffer between MRAP deletion completion and deleting buckets. Integ test fails in CI saying bucket has MRAP associated, but MRAP is deleted when checked in console. Perhaps attempting to delete bucket as soon as MRAP deletion completes is causing this error. * Fix data type. * Fix method used to check MRAP deletion completion from checking against a literal integer 1, to checking against list ofMRAP names existing on account. * Copy generated SDK code from feat/sra-identity-and-auth so it doesn't show up in github diff. * Address Josh's PR comments. * Fix typo on variable name. * Fix swiftlint. * Merge updated CRT version from main into feat/test-suite. --------- Co-authored-by: Josh Elkins <jbelkins@users.noreply.github.com> Co-authored-by: David Yaffe <dayaffe@amazon.com> Co-authored-by: Sichan Yoo <chanyoo@amazon.com> Co-authored-by: AWS SDK Swift Automation <github-aws-sdk-swift-automation@amazon.com> Co-authored-by: Sven A. Schmidt <sas@finestructure.co> * chore: Merge latest changes from main into SRA I&A (#1340) * chore!: Require Swift 5.7, fix deprecation warnings (#1173) * feat: support initial-response in RPC based event streams (#1165) * chore: bump models (#1178) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Updates version to 0.28.0 * add visionOS support to useragent (#1182) * chore: Remove all models before copying in latest versions (#1185) * chore: update models (#1187) * chore: Update to aws-crt-swift 0.15.0 (#1188) * chore: Updates version to 0.29.0 * chore: Update swiftlint to 0.53.0 (#1192) * chore: End the SDK package manifest with a newline (#1203) * fix: Update CRT dependency to 0.17.0 (#1210) * chore: Updates version to 0.30.0 * chore: Clean up unnecessary TODOs + move test functions to a better location (#1209) * feat: expose presign / presignURL methods in Models.swift to service client object (#1198) * Add codegen to expose presign / presignURL methods on service client object. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Bump models in prep for release 0.31.0 (#1218) * chore: Updates version to 0.31.0 * fix: add s3 control to list of service clients that should have useSignedBodyHeader (#1219) * update SQS to latest model that uses aws json protocol + add integration test (#1233) * fix: Fix tests related to operation doc header (#1231) * fix: Codegen issues re: recursion, Swift keywords in unions (#1237) * fix: Integration test crashes on failure, build warning (#1239) * feat!: Replace the XML encoder with a custom Smithy implementation (#1224) * chore: Modernize the codegen-build-test CI workflow (#1240) * chore: Modernize the codegen-build-test-on-comment CI workflow (#1243) * fix: Fix ref used for smithy-swift checkout in codegen-build-test-on-comment (#1244) * feat!: Use closures for processing HTTP response (#1242) * add IsTruncated pagination customization for S3 ListParts (#1245) * feat: Publish documentation to public distribution (#1232) * fix: Fix script for extracting version from GH ref (#1247) * chore: Codegen dev script takes args for manifest generator (#1246) * fix: Use bash to run doc generator version step (#1248) * chore: Update models (#1252) * chore: Updates version to 0.32.0 * fix: DocC post-testing fixes (#1249) * chore: Run tvOS old & new in CI (#1253) * feat: Package manifest generator improvements (#1250) * fix: Use new manifest generator options to run protocol & unit tests in CI (#1257) * chore: remove use of HttpBody and replace with ByteStream (#1254) * fix: Remove codegen-build-test-on-comment workflow (#1262) * chore: update smithy to 1.42.0 (#1261) * feat: Add codegen-build-test workflow to pull requests (#1263) * fix: codegen-build-test with workflow dispatch & custom branch names (#1265) * fix integration tests (#1268) * chore: bump models (#1270) * chore: Updates version to 0.33.0 * fix: Batch documentation modules properly (#1274) * chore: Update to aws-crt-swift 0.20.0 (#1275) * fix: update partitions to latest fixes failing endpoints tests (#1277) * feat: handle errors in 200 response from S3 (#1266) * chore: Use Xcode 15.1 as CI latest version (#1286) * Delete unnecessary TODO item. (#1288) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * feat!: Use Foundation-based HTTP client on Apple platforms (#1282) * fix integration tests to conform to latest HTTPClient change (#1295) * chore: update to CRT 0.22.0 (#1296) * chore: Update smithy-swift to 0.38.0 (#1298) * chore: Update .spi.yml (#1297) * Delete bundle region provider. (#1290) Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * fix!: Refactor resolveRegion method name to getRegion for consistency. (#1291) * Refactor resolveRegion method name to getRegion for consistency. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> * chore: Update models (#1301) * fix: Preserve data after reading response body stream in S3/200 middleware (#1303) * chore: Updates version to 0.34.0 * feat: Add integration tests to CI (#1308) * feat!: Provide HTTP request components by closure instead of protocol (#1317) * chore: Updated codegen (#1320) * chore: Remove several unneeded services from codegen for integration tests (#1316) * feat!: Eliminate service client protocols (#1322) * chore: Update generated code (#1326) * feat: add support for flexible checksums on Normal payloads (#1304) * chore: Update aws-crt-swift to 0.26.0 (#1335) * chore: Use Apple Silicon for codegen-build-test on CI (#1336) * Checkout main branch's Sources/Services/ and Tests/Services/ into chore/merge-changes-from-main. * Attempt #2. * Edit the new flexible checksum codegen test to include I&A stuff. * Add back accidentally removed list of services for new integration tests to sdk.properties. --------- Co-authored-by: Josh Elkins <jbelkins@users.noreply.github.com> Co-authored-by: David Yaffe <dayaffe@amazon.com> Co-authored-by: Sichan Yoo <chanyoo@amazon.com> Co-authored-by: AWS SDK Swift Automation <github-aws-sdk-swift-automation@amazon.com> Co-authored-by: Sven A. Schmidt <sas@finestructure.co> * Reflect removal of IdentityKind enum. * Add defaults provider for auth schemes. Delete AWS runtime types for auth that are no longer used. Add codegen for authSchemes and authSchemeResolver config properties. Update config codegen test accordingly. * Update codegen tests following removal of unused generic from auth scheme & signer middlewares. * Fix erros found from inspecting generated SDK code. * Fix swiftlint. * Fix ktlint. * XMLDecoder was removed; update integration test that uses it. * Fix region on STSWebIdentityCredentialsProviderTests. * Address David's comments. * Delete old config files that are replaced with SRA config work. * Delete tests for old config structs. * Move default auth scheme resolve logic for client config from runtime to codegen following Steven's feedback. * Fix codegen test. * Fix ktlint. * Refactor how service specific signing properties are set. Refactor it out to CustomSigningPropertiesSetter, which used to called SigV4Util. Delete obsolte tests. * Remove obsolte variable. * Update comments & add service specific signing properties setter to SigV4A as well. * Add unit tests for custom signing properties setter. * Fix swiftlint. * Address Josh's PR comments. * In runtime code and runtime tests: Refactor names of auth related things & update and organize comments. * In codegen & runtime integration tests: reflect naming changes in auth things made to runtime library. * Fix swiftlint & update remaining few references to credentials provider. * Checkout generated SDK & Tests from main to hide from github PR diff. * Fix constructor call to Credentials() to AWSCredentialIdentity() in an integration test. * Include codegen output for S3 and DynamoDB clients for future reference. --------- Co-authored-by: Sichan Yoo <chanyoo@amazon.com> Co-authored-by: Josh Elkins <jbelkins@users.noreply.github.com> Co-authored-by: David Yaffe <dayaffe@amazon.com> Co-authored-by: AWS SDK Swift Automation <github-aws-sdk-swift-automation@amazon.com> Co-authored-by: Sven A. Schmidt <sas@finestructure.co>
Issue #
#1287
Description of changes
New/existing dependencies impact assessment, if applicable
Conventional Commits
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.