From 42751e5dbf4d51c06c085e4193bf013a7333a6f5 Mon Sep 17 00:00:00 2001 From: Aaron Todd Date: Mon, 21 Oct 2024 09:47:11 -0400 Subject: [PATCH] fix default credential chain not respecting endpoint URL overrides (#3873) ## Motivation and Context https://github.com/awslabs/aws-sdk-rust/issues/1193 ## Description This PR fixes a customer reported bug where the default chain doesn't respect `AWS_ENDPOINT_URL`/`AWS_ENDPOINT_URL_` environment variables or the equivalents in AWS shared config (`~/.aws/config`). This fix is a little nuanced and frankly gross but there isn't a better option that I can see right now that isn't way more invasive. The crux of the issue is that when we implemented support for this feature ([1](https://github.com/smithy-lang/smithy-rs/pull/3568), [2](https://github.com/smithy-lang/smithy-rs/pull/3493), [3](https://github.com/smithy-lang/smithy-rs/pull/3488)) we really only made it work for clients created via [`ConfigLoader::load()`](https://github.com/smithy-lang/smithy-rs/blob/release-2024-10-09/aws/rust-runtime/aws-config/src/lib.rs#L871). Internally the default chain credential provider constructs `STS` and `SSO` clients but it does so using [`ProviderConfig`](https://github.com/smithy-lang/smithy-rs/blob/release-2024-10-09/aws/rust-runtime/aws-config/src/provider_config.rs#L36) by mapping this to `SdkConfig` via [`ProviderConfig::client_config()`](https://github.com/smithy-lang/smithy-rs/blob/release-2024-10-09/aws/rust-runtime/aws-config/src/provider_config.rs#L199). This conversion is used in several places and it doesn't take any of the required logic into account to setup [`EnvServiceConfig`](https://github.com/smithy-lang/smithy-rs/blob/release-2024-10-09/aws/rust-runtime/aws-config/src/lib.rs#L859-L862) which is what generated SDK's ultimately use to figure out the endpoint URL from either environment/profile ([example client](https://github.com/awslabs/aws-sdk-rust/blob/release-2024-10-09/sdk/sts/src/config.rs#L1214-L1221) which ultimately ends up in `EnvServiceConfig` [here](https://github.com/smithy-lang/smithy-rs/blob/release-2024-10-09/aws/rust-runtime/aws-config/src/env_service_config.rs#L18)). The fix applied here is nuanced in that we update the conversion to provide a `EnvServiceConfig` but it relies on the profile to have been parsed already or else you'll get an empty/default profile. This generally works for the profile provider since the first thing we do is load the profile but in isolation it may not work as expected. I've added tests for STS to cover all cases but SSO credentials and token providers do NOT currently respect shared config endpoint URL keys. Fixing this is possible but involved since we require an `async` context to ensure a profile is loaded already and in many places where we construct `SdkConfig` from `ProviderConfig` we are in non async function. ## Testing Tested repro + additional integration tests ## Future This does _not_ fix https://github.com/awslabs/aws-sdk-rust/issues/1194 which was discovered as a bug/gap. Fixing it would be outside the scope of this PR. SSO/token provider is instantiated sometimes before we have parsed a profile. This PR definitely fixes the STS provider for all configuration scenarios but the SSO related client usage may still have some edge cases when configured via profiles since we often instantiate them before parsing a profile. When we surveyed other SDKs there were several that failed to respect these variables and haven't received issues around this which leads me to believe this isn't likely a problem in practice (most likely due to SSO being used in local development most often where redirecting that endpoint doesn't make much sense anyway). ## Checklist - [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._ --- .changelog/1728582276.md | 12 + aws/rust-runtime/Cargo.lock | 18 +- aws/rust-runtime/aws-config/Cargo.lock | 20 +- aws/rust-runtime/aws-config/Cargo.toml | 2 +- .../aws-config/src/profile/credentials.rs | 16 +- .../aws-config/src/provider_config.rs | 14 ++ .../env.json | 4 + .../fs/home/.aws/config | 7 + .../fs/home/.aws/credentials | 3 + .../http-traffic.json | 107 ++++++++ .../test-case.json | 12 + .../env.json | 3 + .../fs/home/.aws/config | 8 + .../fs/home/.aws/credentials | 3 + .../http-traffic.json | 107 ++++++++ .../test-case.json | 12 + .../env.json | 4 + .../fs/home/.aws/config | 7 + .../fs/home/.aws/credentials | 3 + .../http-traffic.json | 107 ++++++++ .../test-case.json | 12 + .../env.json | 3 + .../fs/home/.aws/config | 12 + .../fs/home/.aws/credentials | 3 + .../http-traffic.json | 107 ++++++++ .../test-case.json | 12 + .../sso_override_global_env_url/env.json | 4 + .../fs/home/.aws/config | 9 + .../fs/home/.aws/credentials | 0 ...6fceca75e456f25e7e99531e2425c6c1de443.json | 10 + .../http-traffic.json | 92 +++++++ .../test-case.json | 12 + aws/sdk/Cargo.lock | 232 +++++++++--------- rust-runtime/Cargo.lock | 110 ++++----- 34 files changed, 892 insertions(+), 195 deletions(-) create mode 100644 .changelog/1728582276.md create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/env.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/fs/home/.aws/config create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/fs/home/.aws/credentials create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/http-traffic.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/test-case.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/env.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/fs/home/.aws/config create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/fs/home/.aws/credentials create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/http-traffic.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/test-case.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/env.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/fs/home/.aws/config create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/fs/home/.aws/credentials create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/http-traffic.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/test-case.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/env.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/fs/home/.aws/config create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/fs/home/.aws/credentials create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/http-traffic.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/test-case.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/env.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/config create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/credentials create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/sso/cache/34c6fceca75e456f25e7e99531e2425c6c1de443.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/http-traffic.json create mode 100644 aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/test-case.json diff --git a/.changelog/1728582276.md b/.changelog/1728582276.md new file mode 100644 index 0000000000..b36731712a --- /dev/null +++ b/.changelog/1728582276.md @@ -0,0 +1,12 @@ +--- +applies_to: +- aws-sdk-rust +authors: +- aajtodd +references: +- aws-sdk-rust#1193 +breaking: false +new_feature: false +bug_fix: true +--- +Fix default credential provider chain not respecting endpoint URL overrides from environment diff --git a/aws/rust-runtime/Cargo.lock b/aws/rust-runtime/Cargo.lock index 1cd58e0136..02a722c5bf 100644 --- a/aws/rust-runtime/Cargo.lock +++ b/aws/rust-runtime/Cargo.lock @@ -332,7 +332,7 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.2.7" +version = "1.2.8" dependencies = [ "base64-simd", "bytes", @@ -1218,9 +1218,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libfuzzer-sys" @@ -1568,9 +1568,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.87" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" +checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" dependencies = [ "unicode-ident", ] @@ -1957,9 +1957,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "6dbcf9b78a125ee667ae19388837dd12294b858d101fdd393cb9d5501ef09eb2" dependencies = [ "itoa", "memchr", @@ -2394,9 +2394,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] name = "valuable" diff --git a/aws/rust-runtime/aws-config/Cargo.lock b/aws/rust-runtime/aws-config/Cargo.lock index 5a1aa2a578..29f46d6c3b 100644 --- a/aws/rust-runtime/aws-config/Cargo.lock +++ b/aws/rust-runtime/aws-config/Cargo.lock @@ -45,7 +45,7 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-config" -version = "1.5.8" +version = "1.5.9" dependencies = [ "aws-credential-types", "aws-runtime", @@ -298,7 +298,7 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.2.7" +version = "1.2.8" dependencies = [ "base64-simd", "bytes", @@ -861,9 +861,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "lock_api" @@ -1104,9 +1104,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.87" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" +checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" dependencies = [ "unicode-ident", ] @@ -1349,9 +1349,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "6dbcf9b78a125ee667ae19388837dd12294b858d101fdd393cb9d5501ef09eb2" dependencies = [ "indexmap", "itoa", @@ -1740,9 +1740,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] name = "valuable" diff --git a/aws/rust-runtime/aws-config/Cargo.toml b/aws/rust-runtime/aws-config/Cargo.toml index a583475971..d8ed49845a 100644 --- a/aws/rust-runtime/aws-config/Cargo.toml +++ b/aws/rust-runtime/aws-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aws-config" -version = "1.5.8" +version = "1.5.9" authors = [ "AWS Rust SDK Team ", "Russell Cohen ", diff --git a/aws/rust-runtime/aws-config/src/profile/credentials.rs b/aws/rust-runtime/aws-config/src/profile/credentials.rs index f4247531bd..3e61d2abca 100644 --- a/aws/rust-runtime/aws-config/src/profile/credentials.rs +++ b/aws/rust-runtime/aws-config/src/profile/credentials.rs @@ -33,7 +33,6 @@ use aws_credential_types::{ Credentials, }; use aws_smithy_types::error::display::DisplayErrorContext; -use aws_types::SdkConfig; use std::borrow::Cow; use std::collections::HashMap; use std::error::Error; @@ -142,7 +141,6 @@ pub struct ProfileFileCredentialsProvider { #[derive(Debug)] struct Config { factory: exec::named::NamedProviderFactory, - sdk_config: SdkConfig, provider_config: ProviderConfig, } @@ -493,7 +491,6 @@ impl Builder { ProfileFileCredentialsProvider { config: Arc::new(Config { factory, - sdk_config: conf.client_config(), provider_config: conf, }), inner_provider: ErrorTakingOnceCell::new(), @@ -542,9 +539,13 @@ impl ChainProvider { return Err(CredentialsError::provider_error(e)); } }; + + // we want to create `SdkConfig` _after_ we have resolved the profile or else + // we won't get things like `service_config()` set appropriately. + let sdk_config = config.provider_config.client_config(); for provider in chain.chain().iter() { let next_creds = provider - .credentials(creds, &config.sdk_config) + .credentials(creds, &sdk_config) .instrument(tracing::debug_span!("load_assume_role", provider = ?provider)) .await; match next_creds { @@ -609,7 +610,14 @@ mod test { #[cfg(feature = "sso")] make_test!(sso_credentials); #[cfg(feature = "sso")] + make_test!(sso_override_global_env_url); + #[cfg(feature = "sso")] make_test!(sso_token); + + make_test!(assume_role_override_global_env_url); + make_test!(assume_role_override_service_env_url); + make_test!(assume_role_override_global_profile_url); + make_test!(assume_role_override_service_profile_url); } #[cfg(all(test, feature = "sso"))] diff --git a/aws/rust-runtime/aws-config/src/provider_config.rs b/aws/rust-runtime/aws-config/src/provider_config.rs index 569af53fcb..bf86ae12ec 100644 --- a/aws/rust-runtime/aws-config/src/provider_config.rs +++ b/aws/rust-runtime/aws-config/src/provider_config.rs @@ -5,6 +5,7 @@ //! Configuration Options for Credential Providers +use crate::env_service_config::EnvServiceConfig; use crate::profile; #[allow(deprecated)] use crate::profile::profile_file::ProfileFiles; @@ -196,13 +197,26 @@ impl ProviderConfig { Self::without_region().load_default_region().await } + /// Attempt to get a representation of `SdkConfig` from this `ProviderConfig`. + /// + /// + /// **WARN**: Some options (e.g. `service_config`) can only be set if the profile has been + /// parsed already (e.g. by calling [`ProviderConfig::profile()`]). This is an + /// imperfect mapping and should be used sparingly. pub(crate) fn client_config(&self) -> SdkConfig { + let profiles = self.parsed_profile.get().and_then(|v| v.as_ref().ok()); + let service_config = EnvServiceConfig { + env: self.env(), + env_config_sections: profiles.cloned().unwrap_or_default(), + }; + let mut builder = SdkConfig::builder() .retry_config(RetryConfig::standard()) .region(self.region()) .time_source(self.time_source()) .use_fips(self.use_fips().unwrap_or_default()) .use_dual_stack(self.use_dual_stack().unwrap_or_default()) + .service_config(service_config) .behavior_version(crate::BehaviorVersion::latest()); builder.set_http_client(self.http_client.clone()); builder.set_sleep_impl(self.sleep_impl.clone()); diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/env.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/env.json new file mode 100644 index 0000000000..806fe9c81c --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/env.json @@ -0,0 +1,4 @@ +{ + "HOME": "/home", + "AWS_ENDPOINT_URL": "http://aws.global-env-override" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/fs/home/.aws/config b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/fs/home/.aws/config new file mode 100644 index 0000000000..a7e5ed5815 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/fs/home/.aws/config @@ -0,0 +1,7 @@ +[default] +region = us-east-1 +role_arn = arn:aws:iam::123456789:role/integration-test +source_profile = base + +[profile base] +region = us-east-1 diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/fs/home/.aws/credentials b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/fs/home/.aws/credentials new file mode 100644 index 0000000000..1cab6a6ca2 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[base] +aws_access_key_id = AKIAFAKE +aws_secret_access_key = FAKE diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/http-traffic.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/http-traffic.json new file mode 100644 index 0000000000..b567876d56 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/http-traffic.json @@ -0,0 +1,107 @@ +{ + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "http://aws.global-env-override", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=AKIAFAKE/20210810/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-user-agent, Signature=cd5cb2aa1d20717ca17692bcbda711797ae9eb8bb1130690b021b3952b7ae56e" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "146" + ], + "x-amz-date": [ + "20210810T003833Z" + ], + "host": [ + "aws.global-env-override" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.14-alpha os/macos lang/rust/1.55.0-nightly" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2Fintegration-test&RoleSessionName=assume-role-provider-session" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "1491" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n \n AROARABCDEFGHIJKLMNOP:assume-role-provider-session\n arn:aws:sts::123456789012:assumed-role/integration-test/assume-role-provider-session\n \n \n ASIARTESTID\n TESTSECRETKEY\n TESTSESSIONTOKEN\n 2021-08-05T19:58:02Z\n \n \n \n c2e971c2-702d-4124-9b1f-1670febbea18\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "docs": "standard request / response with STS", + "version": "V0" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/test-case.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/test-case.json new file mode 100644 index 0000000000..9436c463e5 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_env_url/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "assume-role-override-global-env-url", + "docs": "override AWS_ENDPOINT_URL via environment", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1628193482 + } + } +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/env.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/env.json new file mode 100644 index 0000000000..55fcfbeb05 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/env.json @@ -0,0 +1,3 @@ +{ + "HOME": "/home" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/fs/home/.aws/config b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/fs/home/.aws/config new file mode 100644 index 0000000000..a00d07b3b5 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/fs/home/.aws/config @@ -0,0 +1,8 @@ +[default] +region = us-east-1 +role_arn = arn:aws:iam::123456789:role/integration-test +source_profile = base +endpoint_url = http://aws.global-profile-override + +[profile base] +region = us-east-1 diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/fs/home/.aws/credentials b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/fs/home/.aws/credentials new file mode 100644 index 0000000000..1cab6a6ca2 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[base] +aws_access_key_id = AKIAFAKE +aws_secret_access_key = FAKE diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/http-traffic.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/http-traffic.json new file mode 100644 index 0000000000..44fe3946c1 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/http-traffic.json @@ -0,0 +1,107 @@ +{ + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "http://aws.global-profile-override", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=AKIAFAKE/20210810/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-user-agent, Signature=cd5cb2aa1d20717ca17692bcbda711797ae9eb8bb1130690b021b3952b7ae56e" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "146" + ], + "x-amz-date": [ + "20210810T003833Z" + ], + "host": [ + "aws.global-profile-override" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.14-alpha os/macos lang/rust/1.55.0-nightly" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2Fintegration-test&RoleSessionName=assume-role-provider-session" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "1491" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n \n AROARABCDEFGHIJKLMNOP:assume-role-provider-session\n arn:aws:sts::123456789012:assumed-role/integration-test/assume-role-provider-session\n \n \n ASIARTESTID\n TESTSECRETKEY\n TESTSESSIONTOKEN\n 2021-08-05T19:58:02Z\n \n \n \n c2e971c2-702d-4124-9b1f-1670febbea18\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "docs": "standard request / response with STS", + "version": "V0" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/test-case.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/test-case.json new file mode 100644 index 0000000000..613cbd0e11 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_global_profile_url/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "assume-role-override-global-profile-url", + "docs": "override endpoint_url via profile", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1628193482 + } + } +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/env.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/env.json new file mode 100644 index 0000000000..dfb5bc9648 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/env.json @@ -0,0 +1,4 @@ +{ + "HOME": "/home", + "AWS_ENDPOINT_URL_STS": "http://aws.sts-env-override" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/fs/home/.aws/config b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/fs/home/.aws/config new file mode 100644 index 0000000000..a7e5ed5815 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/fs/home/.aws/config @@ -0,0 +1,7 @@ +[default] +region = us-east-1 +role_arn = arn:aws:iam::123456789:role/integration-test +source_profile = base + +[profile base] +region = us-east-1 diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/fs/home/.aws/credentials b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/fs/home/.aws/credentials new file mode 100644 index 0000000000..1cab6a6ca2 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[base] +aws_access_key_id = AKIAFAKE +aws_secret_access_key = FAKE diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/http-traffic.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/http-traffic.json new file mode 100644 index 0000000000..1bb9861932 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/http-traffic.json @@ -0,0 +1,107 @@ +{ + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "http://aws.sts-env-override", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=AKIAFAKE/20210810/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-user-agent, Signature=cd5cb2aa1d20717ca17692bcbda711797ae9eb8bb1130690b021b3952b7ae56e" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "146" + ], + "x-amz-date": [ + "20210810T003833Z" + ], + "host": [ + "aws.sts-env-override" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.14-alpha os/macos lang/rust/1.55.0-nightly" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2Fintegration-test&RoleSessionName=assume-role-provider-session" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "1491" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n \n AROARABCDEFGHIJKLMNOP:assume-role-provider-session\n arn:aws:sts::123456789012:assumed-role/integration-test/assume-role-provider-session\n \n \n ASIARTESTID\n TESTSECRETKEY\n TESTSESSIONTOKEN\n 2021-08-05T19:58:02Z\n \n \n \n c2e971c2-702d-4124-9b1f-1670febbea18\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "docs": "standard request / response with STS", + "version": "V0" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/test-case.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/test-case.json new file mode 100644 index 0000000000..93a3f234c0 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_env_url/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "assume-role-override-service-env-url", + "docs": "override AWS_ENDPOINT_URL_STS via environment", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1628193482 + } + } +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/env.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/env.json new file mode 100644 index 0000000000..55fcfbeb05 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/env.json @@ -0,0 +1,3 @@ +{ + "HOME": "/home" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/fs/home/.aws/config b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/fs/home/.aws/config new file mode 100644 index 0000000000..8b102c3b81 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/fs/home/.aws/config @@ -0,0 +1,12 @@ +[default] +region = us-east-1 +role_arn = arn:aws:iam::123456789:role/integration-test +source_profile = base +services = test-urls + +[services test-urls] +sts = + endpoint_url = http://aws.service-profile-override + +[profile base] +region = us-east-1 diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/fs/home/.aws/credentials b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/fs/home/.aws/credentials new file mode 100644 index 0000000000..1cab6a6ca2 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/fs/home/.aws/credentials @@ -0,0 +1,3 @@ +[base] +aws_access_key_id = AKIAFAKE +aws_secret_access_key = FAKE diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/http-traffic.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/http-traffic.json new file mode 100644 index 0000000000..3c813a1a29 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/http-traffic.json @@ -0,0 +1,107 @@ +{ + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "http://aws.service-profile-override", + "headers": { + "content-type": [ + "application/x-www-form-urlencoded" + ], + "authorization": [ + "AWS4-HMAC-SHA256 Credential=AKIAFAKE/20210810/us-east-1/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-user-agent, Signature=cd5cb2aa1d20717ca17692bcbda711797ae9eb8bb1130690b021b3952b7ae56e" + ], + "user-agent": [ + "aws-sdk-rust/0.1.0 os/macos lang/rust/1.55.0-nightly" + ], + "content-length": [ + "146" + ], + "x-amz-date": [ + "20210810T003833Z" + ], + "host": [ + "http://aws.service-profile-override" + ], + "x-amz-user-agent": [ + "aws-sdk-rust/0.1.0 api/sts/0.0.14-alpha os/macos lang/rust/1.55.0-nightly" + ] + }, + "method": "POST" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "Action=AssumeRole&Version=2011-06-15&RoleArn=arn%3Aaws%3Aiam%3A%3A123456789%3Arole%2Fintegration-test&RoleSessionName=assume-role-provider-session" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "1491" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "\n \n \n AROARABCDEFGHIJKLMNOP:assume-role-provider-session\n arn:aws:sts::123456789012:assumed-role/integration-test/assume-role-provider-session\n \n \n ASIARTESTID\n TESTSECRETKEY\n TESTSESSIONTOKEN\n 2021-08-05T19:58:02Z\n \n \n \n c2e971c2-702d-4124-9b1f-1670febbea18\n \n\n" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ], + "docs": "standard request / response with STS", + "version": "V0" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/test-case.json b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/test-case.json new file mode 100644 index 0000000000..f157b15efb --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/assume_role_override_service_profile_url/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "assume-role-override-service-profile-url", + "docs": "override endpoint_url via services section", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1628193482 + } + } +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/env.json b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/env.json new file mode 100644 index 0000000000..806fe9c81c --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/env.json @@ -0,0 +1,4 @@ +{ + "HOME": "/home", + "AWS_ENDPOINT_URL": "http://aws.global-env-override" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/config b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/config new file mode 100644 index 0000000000..91939db925 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/config @@ -0,0 +1,9 @@ +[profile default] +sso_session = dev +sso_account_id = 012345678901 +sso_role_name = SampleRole +region = us-east-1 + +[sso-session dev] +sso_region = us-east-1 +sso_start_url = https://d-abc123.awsapps.com/start diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/credentials b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/credentials new file mode 100644 index 0000000000..e69de29bb2 diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/sso/cache/34c6fceca75e456f25e7e99531e2425c6c1de443.json b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/sso/cache/34c6fceca75e456f25e7e99531e2425c6c1de443.json new file mode 100644 index 0000000000..06853e98f9 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/fs/home/.aws/sso/cache/34c6fceca75e456f25e7e99531e2425c6c1de443.json @@ -0,0 +1,10 @@ +{ + "accessToken": "secret-access-token", + "expiresAt": "2199-11-14T04:05:45Z", + "refreshToken": "secret-refresh-token", + "clientId": "ABCDEFG323242423121312312312312312", + "clientSecret": "ABCDE123", + "registrationExpiresAt": "2199-03-06T19:53:17Z", + "region": "us-east-1", + "startUrl": "https://d-abc123.awsapps.com/start" +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/http-traffic.json b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/http-traffic.json new file mode 100644 index 0000000000..ae5f568852 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/http-traffic.json @@ -0,0 +1,92 @@ +{ + "docs": "test case using sso credentials", + "version": "V0", + "events": [ + { + "connection_id": 0, + "action": { + "Request": { + "request": { + "uri": "http://aws.global-env-override/federation/credentials?role_name=SampleRole&account_id=012345678901", + "headers": { + "x-amz-sso_bearer_token": [ + "secret-access-token" + ], + "host": [ + "aws.global-env-override" + ] + }, + "method": "GET" + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "" + }, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Request" + } + } + }, + { + "connection_id": 0, + "action": { + "Response": { + "response": { + "Ok": { + "status": 200, + "version": "HTTP/1.1", + "headers": { + "date": [ + "Thu, 05 Aug 2021 18:58:02 GMT" + ], + "content-length": [ + "1491" + ], + "content-type": [ + "text/xml" + ], + "x-amzn-requestid": [ + "c2e971c2-702d-4124-9b1f-1670febbea18" + ] + } + } + } + } + } + }, + { + "connection_id": 0, + "action": { + "Data": { + "data": { + "Utf8": "{\"roleCredentials\":{\"accessKeyId\":\"ASIARTESTID\",\"secretAccessKey\":\"TESTSECRETKEY\",\"sessionToken\":\"TESTSESSIONTOKEN\",\"expiration\": 1651516560000}}" + }, + "direction": "Response" + } + } + }, + { + "connection_id": 0, + "action": { + "Eof": { + "ok": true, + "direction": "Response" + } + } + } + ] +} diff --git a/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/test-case.json b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/test-case.json new file mode 100644 index 0000000000..0837eef8d0 --- /dev/null +++ b/aws/rust-runtime/aws-config/test-data/profile-provider/sso_override_global_env_url/test-case.json @@ -0,0 +1,12 @@ +{ + "name": "sso_override_global_env_url", + "docs": "sso_credentials loads SSO credentials with global endpoint URL override from environment", + "result": { + "Ok": { + "access_key_id": "ASIARTESTID", + "secret_access_key": "TESTSECRETKEY", + "session_token": "TESTSESSIONTOKEN", + "expiry": 1651516560 + } + } +} diff --git a/aws/sdk/Cargo.lock b/aws/sdk/Cargo.lock index 4898abb11b..7f10b770f7 100644 --- a/aws/sdk/Cargo.lock +++ b/aws/sdk/Cargo.lock @@ -329,7 +329,7 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-config" -version = "1.5.8" +version = "1.5.9" dependencies = [ "aws-credential-types 1.2.1", "aws-runtime 1.4.3", @@ -341,7 +341,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", @@ -368,7 +368,7 @@ dependencies = [ "async-trait", "aws-smithy-async 1.2.1", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "tokio", "zeroize", ] @@ -381,7 +381,7 @@ checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "zeroize", ] @@ -449,14 +449,14 @@ version = "1.4.3" dependencies = [ "arbitrary", "aws-credential-types 1.2.1", - "aws-sigv4 1.2.4", + "aws-sigv4 1.2.5", "aws-smithy-async 1.2.1", "aws-smithy-eventstream 0.60.5", "aws-smithy-http 0.60.11", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "bytes-utils", @@ -488,13 +488,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a10d5c055aa540164d9561a0e2e74ad30f0dcf7393c3a92f6733ddf9c5762468" dependencies = [ "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-sigv4 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-sigv4 1.2.4", "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime 1.7.2", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "aws-types 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "bytes", "fastrand 2.0.2", @@ -524,7 +524,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "http 0.2.12", @@ -547,7 +547,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", @@ -573,7 +573,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "http 0.2.12", @@ -597,7 +597,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "criterion", @@ -626,7 +626,7 @@ dependencies = [ "aws-smithy-query", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "fastrand 2.0.2", @@ -652,7 +652,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", @@ -670,14 +670,14 @@ dependencies = [ "aws-config", "aws-credential-types 1.2.1", "aws-runtime 1.4.3", - "aws-sigv4 1.2.4", + "aws-sigv4 1.2.5", "aws-smithy-async 1.2.1", "aws-smithy-http 0.60.11", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "futures-util", @@ -708,7 +708,7 @@ dependencies = [ "aws-smithy-query", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "futures-util", @@ -734,7 +734,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "futures-util", @@ -761,7 +761,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "futures-util", @@ -781,14 +781,14 @@ dependencies = [ "aws-config", "aws-credential-types 1.2.1", "aws-runtime 1.4.3", - "aws-sigv4 1.2.4", + "aws-sigv4 1.2.5", "aws-smithy-async 1.2.1", "aws-smithy-http 0.60.11", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "futures-util", @@ -816,7 +816,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "futures-util", @@ -841,7 +841,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "http 0.2.12", @@ -861,9 +861,9 @@ dependencies = [ "aws-config", "aws-credential-types 1.2.1", "aws-runtime 1.4.3", - "aws-sigv4 1.2.4", + "aws-sigv4 1.2.5", "aws-smithy-async 1.2.1", - "aws-smithy-checksums 0.60.12", + "aws-smithy-checksums 0.60.13", "aws-smithy-eventstream 0.60.5", "aws-smithy-experimental", "aws-smithy-http 0.60.11", @@ -871,7 +871,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "bytes", @@ -904,22 +904,22 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "1.56.0" +version = "1.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecd672c8d4265fd4fbecacd4a479180e616881bbe639250cf81ddb604e4c301" +checksum = "8888c238bf93c77c5df8274b3999fd7fc1bb3fb658616f40dfde9e4fcd9efd94" dependencies = [ "ahash", "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-runtime 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-sigv4 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-sigv4 1.2.4", "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-checksums 0.60.12 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-checksums 0.60.12", "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-json 0.60.7 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime 1.7.2", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "aws-smithy-xml 0.60.9 (registry+https://github.com/rust-lang/crates.io-index)", "aws-types 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "bytes", @@ -950,7 +950,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "fastrand 2.0.2", @@ -977,7 +977,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "http 0.2.12", @@ -998,7 +998,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "http 0.2.12", @@ -1021,7 +1021,7 @@ dependencies = [ "aws-smithy-query", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "futures-util", @@ -1047,7 +1047,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", @@ -1073,7 +1073,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", @@ -1092,7 +1092,7 @@ dependencies = [ "aws-config", "aws-credential-types 1.2.1", "aws-runtime 1.4.3", - "aws-sigv4 1.2.4", + "aws-sigv4 1.2.5", "aws-smithy-async 1.2.1", "aws-smithy-eventstream 0.60.5", "aws-smithy-http 0.60.11", @@ -1100,7 +1100,7 @@ dependencies = [ "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-types 1.3.3", "bytes", "futures-core", @@ -1123,32 +1123,25 @@ version = "0.60.3" [[package]] name = "aws-sigv4" version = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc8db6904450bafe7473c6ca9123f88cc11089e41a025408f992db4e22d3be68" dependencies = [ - "aws-credential-types 1.2.1", - "aws-smithy-eventstream 0.60.5", - "aws-smithy-http 0.60.11", - "aws-smithy-runtime-api 1.7.2", + "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-types 1.2.7", "bytes", - "criterion", "crypto-bigint 0.5.5", "form_urlencoded", "hex", - "hex-literal", "hmac", "http 0.2.12", "http 1.1.0", - "httparse", - "libfuzzer-sys", "once_cell", "p256", "percent-encoding", - "pretty_assertions", - "proptest", "ring", - "serde", - "serde_derive", - "serde_json", "sha2", "subtle", "time", @@ -1158,26 +1151,33 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc8db6904450bafe7473c6ca9123f88cc11089e41a025408f992db4e22d3be68" +version = "1.2.5" dependencies = [ - "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-credential-types 1.2.1", + "aws-smithy-eventstream 0.60.5", + "aws-smithy-http 0.60.11", + "aws-smithy-runtime-api 1.7.2", + "aws-smithy-types 1.2.8", "bytes", + "criterion", "crypto-bigint 0.5.5", "form_urlencoded", "hex", + "hex-literal", "hmac", "http 0.2.12", "http 1.1.0", + "httparse", + "libfuzzer-sys", "once_cell", "p256", "percent-encoding", + "pretty_assertions", + "proptest", "ring", + "serde", + "serde_derive", + "serde_json", "sha2", "subtle", "time", @@ -1211,7 +1211,7 @@ dependencies = [ name = "aws-smithy-cbor" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "criterion", "minicbor", ] @@ -1219,11 +1219,12 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" version = "0.60.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23" dependencies = [ - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-types 1.2.7", "bytes", - "bytes-utils", "crc32c", "crc32fast", "hex", @@ -1231,23 +1232,19 @@ dependencies = [ "http-body 0.4.6", "md-5", "pin-project-lite", - "pretty_assertions", "sha1", "sha2", - "tokio", "tracing", - "tracing-test", ] [[package]] name = "aws-smithy-checksums" -version = "0.60.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23" +version = "0.60.13" dependencies = [ - "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-http 0.60.11", + "aws-smithy-types 1.2.8", "bytes", + "bytes-utils", "crc32c", "crc32fast", "hex", @@ -1255,9 +1252,12 @@ dependencies = [ "http-body 0.4.6", "md-5", "pin-project-lite", + "pretty_assertions", "sha1", "sha2", + "tokio", "tracing", + "tracing-test", ] [[package]] @@ -1269,7 +1269,7 @@ name = "aws-smithy-compression" version = "0.0.2" dependencies = [ "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "bytes-utils", "flate2", @@ -1290,7 +1290,7 @@ name = "aws-smithy-eventstream" version = "0.60.5" dependencies = [ "arbitrary", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "bytes-utils", "crc32fast", @@ -1303,7 +1303,7 @@ version = "0.60.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cef7d0a272725f87e51ba2bf89f8c21e4df61b9e49ae1ac367a6d69916ef7c90" dependencies = [ - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "crc32fast", ] @@ -1315,7 +1315,7 @@ dependencies = [ "aws-smithy-async 1.2.1", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "h2 0.4.6", "http 1.1.0", "hyper 1.5.0", @@ -1323,7 +1323,7 @@ dependencies = [ "hyper-util", "once_cell", "pin-project-lite", - "rustls 0.23.14", + "rustls 0.23.15", "tokio", "tower", "tracing", @@ -1336,7 +1336,7 @@ dependencies = [ "async-stream", "aws-smithy-eventstream 0.60.5", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "bytes-utils", "futures-core", @@ -1361,7 +1361,7 @@ checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" dependencies = [ "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "bytes-utils", "futures-core", @@ -1386,7 +1386,7 @@ version = "0.60.3" name = "aws-smithy-json" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "proptest", "serde_json", ] @@ -1397,16 +1397,16 @@ version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" dependencies = [ - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", ] [[package]] name = "aws-smithy-mocks-experimental" version = "0.2.1" dependencies = [ - "aws-sdk-s3 1.56.0", + "aws-sdk-s3 1.57.0", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "tokio", ] @@ -1450,7 +1450,7 @@ dependencies = [ name = "aws-smithy-query" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "urlencoding", ] @@ -1464,7 +1464,7 @@ dependencies = [ "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-protocol-test 0.63.0 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "fastrand 2.0.2", "h2 0.3.26", @@ -1495,7 +1495,7 @@ dependencies = [ "aws-smithy-http 0.60.11", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "fastrand 2.0.2", "futures-util", @@ -1526,7 +1526,7 @@ name = "aws-smithy-runtime-api" version = "1.7.2" dependencies = [ "aws-smithy-async 1.2.1", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "http 0.2.12", "http 1.1.0", @@ -1544,7 +1544,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "http 0.2.12", "http 1.1.0", @@ -1557,60 +1557,60 @@ dependencies = [ [[package]] name = "aws-smithy-types" version = "1.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147100a7bea70fa20ef224a6bad700358305f5dc0f84649c53769761395b355b" dependencies = [ - "base64 0.13.1", "base64-simd", "bytes", "bytes-utils", - "ciborium", - "criterion", "futures-core", "http 0.2.12", "http 1.1.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", - "hyper 0.14.31", "itoa", - "lazy_static", "num-integer", "pin-project-lite", "pin-utils", - "proptest", - "rand", "ryu", "serde", - "serde_json", - "tempfile", "time", "tokio", - "tokio-stream", "tokio-util", ] [[package]] name = "aws-smithy-types" -version = "1.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147100a7bea70fa20ef224a6bad700358305f5dc0f84649c53769761395b355b" +version = "1.2.8" dependencies = [ + "base64 0.13.1", "base64-simd", "bytes", "bytes-utils", + "ciborium", + "criterion", "futures-core", "http 0.2.12", "http 1.1.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", + "hyper 0.14.31", "itoa", + "lazy_static", "num-integer", "pin-project-lite", "pin-utils", + "proptest", + "rand", "ryu", "serde", + "serde_json", + "tempfile", "time", "tokio", + "tokio-stream", "tokio-util", ] @@ -1619,7 +1619,7 @@ name = "aws-smithy-types-convert" version = "0.60.8" dependencies = [ "aws-smithy-async 1.2.1", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "chrono", "futures-core", "time", @@ -1631,7 +1631,7 @@ version = "0.1.3" dependencies = [ "aws-smithy-http 0.60.11", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "http 1.1.0", "tracing", @@ -1665,7 +1665,7 @@ dependencies = [ "aws-smithy-async 1.2.1", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "http 0.2.12", "hyper-rustls 0.24.2", "rustc_version", @@ -1684,7 +1684,7 @@ dependencies = [ "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "rustc_version", "tracing", ] @@ -2781,7 +2781,7 @@ dependencies = [ "http 1.1.0", "hyper 1.5.0", "hyper-util", - "rustls 0.23.14", + "rustls 0.23.15", "rustls-native-certs 0.8.0", "rustls-pki-types", "tokio", @@ -2925,9 +2925,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libfuzzer-sys" @@ -3385,9 +3385,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.87" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" +checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" dependencies = [ "unicode-ident", ] @@ -3642,9 +3642,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.14" +version = "0.23.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" +checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" dependencies = [ "aws-lc-rs", "once_cell", @@ -3849,9 +3849,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "6dbcf9b78a125ee667ae19388837dd12294b858d101fdd393cb9d5501ef09eb2" dependencies = [ "indexmap", "itoa", @@ -4156,7 +4156,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.14", + "rustls 0.23.15", "rustls-pki-types", "tokio", ] @@ -4399,9 +4399,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] name = "valuable" diff --git a/rust-runtime/Cargo.lock b/rust-runtime/Cargo.lock index c84b962516..05473a0a76 100644 --- a/rust-runtime/Cargo.lock +++ b/rust-runtime/Cargo.lock @@ -146,7 +146,7 @@ checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "zeroize", ] @@ -206,7 +206,7 @@ dependencies = [ "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime 1.7.2", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "aws-types", "bytes", "fastrand", @@ -221,9 +221,9 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "1.56.0" +version = "1.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecd672c8d4265fd4fbecacd4a479180e616881bbe639250cf81ddb604e4c301" +checksum = "8888c238bf93c77c5df8274b3999fd7fc1bb3fb658616f40dfde9e4fcd9efd94" dependencies = [ "ahash", "aws-credential-types", @@ -236,7 +236,7 @@ dependencies = [ "aws-smithy-json 0.60.7 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime 1.7.2", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "aws-smithy-xml 0.60.9 (registry+https://github.com/rust-lang/crates.io-index)", "aws-types", "bytes", @@ -264,7 +264,7 @@ dependencies = [ "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "crypto-bigint 0.5.5", "form_urlencoded", @@ -309,7 +309,7 @@ dependencies = [ name = "aws-smithy-cbor" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "criterion", "minicbor", ] @@ -321,7 +321,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23" dependencies = [ "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "crc32c", "crc32fast", @@ -340,7 +340,7 @@ name = "aws-smithy-checksums" version = "0.60.13" dependencies = [ "aws-smithy-http 0.60.11", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "bytes-utils", "crc32c", @@ -367,7 +367,7 @@ name = "aws-smithy-compression" version = "0.0.2" dependencies = [ "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "bytes-utils", "flate2", @@ -388,7 +388,7 @@ name = "aws-smithy-eventstream" version = "0.60.5" dependencies = [ "arbitrary", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "bytes-utils", "crc32fast", @@ -401,7 +401,7 @@ version = "0.60.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cef7d0a272725f87e51ba2bf89f8c21e4df61b9e49ae1ac367a6d69916ef7c90" dependencies = [ - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "crc32fast", ] @@ -413,7 +413,7 @@ dependencies = [ "aws-smithy-async 1.2.1", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "h2 0.4.6", "http 1.1.0", "hyper 1.5.0", @@ -421,7 +421,7 @@ dependencies = [ "hyper-util", "once_cell", "pin-project-lite", - "rustls 0.23.14", + "rustls 0.23.15", "tokio", "tower", "tracing", @@ -434,7 +434,7 @@ dependencies = [ "async-stream", "aws-smithy-eventstream 0.60.5", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "bytes-utils", "futures-core", @@ -459,7 +459,7 @@ checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" dependencies = [ "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "bytes-utils", "futures-core", @@ -484,7 +484,7 @@ dependencies = [ "aws-smithy-http 0.60.11", "aws-smithy-json 0.60.7", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "bytes", "futures-util", @@ -514,7 +514,7 @@ dependencies = [ "aws-smithy-http 0.60.11", "aws-smithy-http-server", "aws-smithy-json 0.60.7", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "bytes", "futures", @@ -554,7 +554,7 @@ version = "0.60.3" name = "aws-smithy-json" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "proptest", "serde_json", ] @@ -565,7 +565,7 @@ version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" dependencies = [ - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", ] [[package]] @@ -574,7 +574,7 @@ version = "0.2.1" dependencies = [ "aws-sdk-s3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "tokio", ] @@ -618,7 +618,7 @@ dependencies = [ name = "aws-smithy-query" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "urlencoding", ] @@ -632,7 +632,7 @@ dependencies = [ "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-protocol-test 0.63.0 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "fastrand", "h2 0.3.26", @@ -663,7 +663,7 @@ dependencies = [ "aws-smithy-http 0.60.11", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "fastrand", "futures-util", @@ -694,7 +694,7 @@ name = "aws-smithy-runtime-api" version = "1.7.2" dependencies = [ "aws-smithy-async 1.2.1", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "http 0.2.12", "http 1.1.0", @@ -712,7 +712,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "bytes", "http 0.2.12", "http 1.1.0", @@ -725,60 +725,60 @@ dependencies = [ [[package]] name = "aws-smithy-types" version = "1.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147100a7bea70fa20ef224a6bad700358305f5dc0f84649c53769761395b355b" dependencies = [ - "base64 0.13.1", "base64-simd", "bytes", "bytes-utils", - "ciborium", - "criterion", "futures-core", "http 0.2.12", "http 1.1.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", - "hyper 0.14.31", "itoa", - "lazy_static", "num-integer", "pin-project-lite", "pin-utils", - "proptest", - "rand", "ryu", "serde", - "serde_json", - "tempfile", "time", "tokio", - "tokio-stream", "tokio-util", ] [[package]] name = "aws-smithy-types" -version = "1.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147100a7bea70fa20ef224a6bad700358305f5dc0f84649c53769761395b355b" +version = "1.2.8" dependencies = [ + "base64 0.13.1", "base64-simd", "bytes", "bytes-utils", + "ciborium", + "criterion", "futures-core", "http 0.2.12", "http 1.1.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", + "hyper 0.14.31", "itoa", + "lazy_static", "num-integer", "pin-project-lite", "pin-utils", + "proptest", + "rand", "ryu", "serde", + "serde_json", + "tempfile", "time", "tokio", + "tokio-stream", "tokio-util", ] @@ -787,7 +787,7 @@ name = "aws-smithy-types-convert" version = "0.60.8" dependencies = [ "aws-smithy-async 1.2.1", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "chrono", "futures-core", "time", @@ -799,7 +799,7 @@ version = "0.1.3" dependencies = [ "aws-smithy-http 0.60.11", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "bytes", "http 1.1.0", "tracing", @@ -834,7 +834,7 @@ dependencies = [ "aws-credential-types", "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.7", "rustc_version", "tracing", ] @@ -1921,7 +1921,7 @@ dependencies = [ "http 1.1.0", "hyper 1.5.0", "hyper-util", - "rustls 0.23.14", + "rustls 0.23.15", "rustls-native-certs 0.8.0", "rustls-pki-types", "tokio", @@ -1995,7 +1995,7 @@ dependencies = [ "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.7.3", "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.8", "aws-smithy-xml 0.60.9", "bytes", "fastrand", @@ -2146,9 +2146,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libloading" @@ -2598,9 +2598,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.87" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" +checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" dependencies = [ "unicode-ident", ] @@ -2967,9 +2967,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.14" +version = "0.23.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" +checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" dependencies = [ "aws-lc-rs", "once_cell", @@ -3174,9 +3174,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.129" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "6dbcf9b78a125ee667ae19388837dd12294b858d101fdd393cb9d5501ef09eb2" dependencies = [ "indexmap 2.6.0", "itoa", @@ -3534,7 +3534,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.14", + "rustls 0.23.15", "rustls-pki-types", "tokio", ] @@ -3820,9 +3820,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ "getrandom", "rand",