awslabs / aws-sdk-rust

AWS SDK for the Rust Programming Language
https://awslabs.github.io/aws-sdk-rust/
Apache License 2.0
3.03k stars 248 forks source link

set credentials_provider not working #973

Closed MrCroxx closed 11 months ago

MrCroxx commented 11 months ago

Describe the bug

When building config for client, Builder::credentials_provider does the following things:

/// Sets the credentials provider for this service
    pub fn credentials_provider(
        mut self,
        credentials_provider: impl crate::config::ProvideCredentials + 'static,
    ) -> Self {
        self.set_credentials_provider(::std::option::Option::Some(
            crate::config::SharedCredentialsProvider::new(credentials_provider),
        ));
        self
    }
    /// Sets the credentials provider for this service
    pub fn set_credentials_provider(
        &mut self,
        credentials_provider: ::std::option::Option<crate::config::SharedCredentialsProvider>,
    ) -> &mut Self {
        if let Some(credentials_provider) = credentials_provider {
            #[cfg(feature = "sigv4a")]
            {
                self.runtime_components.push_identity_resolver(
                    ::aws_runtime::auth::sigv4a::SCHEME_ID,
                    credentials_provider.clone(),
                );
            }
            self.runtime_components.push_identity_resolver(
                ::aws_runtime::auth::sigv4::SCHEME_ID,
                credentials_provider,
            );
        }
        self
    }

credientials_provider is set by runtime_components. But after build, Config::credientials_provider does this:

/// Returns the credentials provider for this service
    pub fn credentials_provider(&self) -> Option<crate::config::SharedCredentialsProvider> {
        self.config
            .load::<crate::config::SharedCredentialsProvider>()
            .cloned()
    }

It loads credentials provider from its config field not runtime_components. So it is always None. And I cannot make my hard-coded credentials for minio test env work.

Expected Behavior

Builder::credentials_provider set the right field or Config::credentials_provider get from the right field.

Current Behavior

Builder::credentials_provider set runtime_components but Config::credentials_provider get from config.

Reproduction Steps

Set any credentials provider and get, got None.

Possible Solution

As mentioned.

Additional Information/Context

No response

Version

├── aws-credential-types v1.0.0
    │   ├── aws-smithy-async v1.0.1
    │   ├── aws-smithy-runtime-api v1.0.1
    │   │   ├── aws-smithy-async v1.0.1 (*)
    │   │   ├── aws-smithy-types v1.0.1
    │   ├── aws-smithy-types v1.0.1 (*)
    ├── aws-runtime v1.0.0
    │   ├── aws-credential-types v1.0.0 (*)
    │   ├── aws-http v0.60.0
    │   │   ├── aws-smithy-runtime-api v1.0.1 (*)
    │   │   ├── aws-smithy-types v1.0.1 (*)
    │   │   ├── aws-types v1.0.0
    │   │   │   ├── aws-credential-types v1.0.0 (*)
    │   │   │   ├── aws-smithy-async v1.0.1 (*)
    │   │   │   ├── aws-smithy-runtime-api v1.0.1 (*)
    │   │   │   ├── aws-smithy-types v1.0.1 (*)
    │   ├── aws-sigv4 v1.0.0
    │   │   ├── aws-credential-types v1.0.0 (*)
    │   │   ├── aws-smithy-eventstream v0.60.0
    │   │   │   ├── aws-smithy-types v1.0.1 (*)
    │   │   ├── aws-smithy-http v0.60.0
    │   │   │   ├── aws-smithy-eventstream v0.60.0 (*)
    │   │   │   ├── aws-smithy-runtime-api v1.0.1 (*)
    │   │   │   ├── aws-smithy-types v1.0.1 (*)
    │   │   ├── aws-smithy-runtime-api v1.0.1 (*)
    │   │   ├── aws-smithy-types v1.0.1 (*)
    │   ├── aws-smithy-async v1.0.1 (*)
    │   ├── aws-smithy-eventstream v0.60.0 (*)
    │   ├── aws-smithy-http v0.60.0 (*)
    │   ├── aws-smithy-runtime-api v1.0.1 (*)
    │   ├── aws-smithy-types v1.0.1 (*)
    │   ├── aws-types v1.0.0 (*)
    ├── aws-sdk-s3 v0.39.1
    │   ├── aws-credential-types v1.0.0 (*)
    │   ├── aws-http v0.60.0 (*)
    │   ├── aws-runtime v1.0.0 (*)
    │   ├── aws-sigv4 v1.0.0 (*)
    │   ├── aws-smithy-async v1.0.1 (*)
    │   ├── aws-smithy-checksums v0.60.0
    │   │   ├── aws-smithy-http v0.60.0 (*)
    │   │   ├── aws-smithy-types v1.0.1 (*)
    │   ├── aws-smithy-eventstream v0.60.0 (*)
    │   ├── aws-smithy-http v0.60.0 (*)
    │   ├── aws-smithy-json v0.60.0
    │   │   └── aws-smithy-types v1.0.1 (*)
    │   ├── aws-smithy-runtime v1.0.1
    │   │   ├── aws-smithy-async v1.0.1 (*)
    │   │   ├── aws-smithy-http v0.60.0 (*)
    │   │   ├── aws-smithy-runtime-api v1.0.1 (*)
    │   │   ├── aws-smithy-types v1.0.1 (*)
    │   ├── aws-smithy-runtime-api v1.0.1 (*)
    │   ├── aws-smithy-types v1.0.1 (*)
    │   ├── aws-smithy-xml v0.60.0
    │   ├── aws-types v1.0.0 (*)
    ├── aws-sigv4 v1.0.0 (*)
    ├── aws-smithy-runtime v1.0.1 (*)
    ├── aws-smithy-types v1.0.1 (*)
│   ├── aws-config v1.0.0
│   │   ├── aws-credential-types v1.0.0 (*)
│   │   ├── aws-http v0.60.0 (*)
│   │   ├── aws-runtime v1.0.0 (*)
│   │   ├── aws-sdk-sts v0.39.0
│   │   │   ├── aws-credential-types v1.0.0 (*)
│   │   │   ├── aws-http v0.60.0 (*)
│   │   │   ├── aws-runtime v1.0.0 (*)
│   │   │   ├── aws-smithy-async v1.0.1 (*)
│   │   │   ├── aws-smithy-http v0.60.0 (*)
│   │   │   ├── aws-smithy-json v0.60.0 (*)
│   │   │   ├── aws-smithy-query v0.60.0
│   │   │   │   ├── aws-smithy-types v1.0.1 (*)
│   │   │   ├── aws-smithy-runtime v1.0.1 (*)
│   │   │   ├── aws-smithy-runtime-api v1.0.1 (*)
│   │   │   ├── aws-smithy-types v1.0.1 (*)
│   │   │   ├── aws-smithy-xml v0.60.0 (*)
│   │   │   ├── aws-types v1.0.0 (*)
│   │   ├── aws-smithy-async v1.0.1 (*)
│   │   ├── aws-smithy-http v0.60.0 (*)
│   │   ├── aws-smithy-json v0.60.0 (*)
│   │   ├── aws-smithy-runtime v1.0.1 (*)
│   │   ├── aws-smithy-runtime-api v1.0.1 (*)
│   │   ├── aws-smithy-types v1.0.1 (*)
│   │   ├── aws-types v1.0.0 (*)
│   ├── aws-smithy-http v0.60.0 (*)
│   ├── aws-smithy-runtime v1.0.1 (*)
│   ├── aws-smithy-runtime-api v1.0.1 (*)
│   ├── aws-smithy-types v1.0.1 (*)
│   ├── madsim-aws-sdk-s3 v0.4.0+0.39
│   │   └── aws-sdk-s3 v0.39.1 (*)
│   ├── aws-config v1.0.0 (*)
│   ├── aws-credential-types v1.0.0 (*)
│   ├── aws-sdk-kinesis v0.39.1
│   │   ├── aws-credential-types v1.0.0 (*)
│   │   ├── aws-http v0.60.0 (*)
│   │   ├── aws-runtime v1.0.0 (*)
│   │   ├── aws-smithy-async v1.0.1 (*)
│   │   ├── aws-smithy-http v0.60.0 (*)
│   │   ├── aws-smithy-json v0.60.0 (*)
│   │   ├── aws-smithy-runtime v1.0.1 (*)
│   │   ├── aws-smithy-runtime-api v1.0.1 (*)
│   │   ├── aws-smithy-types v1.0.1 (*)
│   │   ├── aws-types v1.0.0 (*)
│   ├── aws-sdk-s3 v0.39.1 (*)
│   ├── aws-smithy-http v0.60.0 (*)
│   ├── aws-smithy-runtime-api v1.0.1 (*)
│   ├── aws-smithy-types v1.0.1 (*)
│   ├── aws-types v1.0.0 (*)
├── aws-config v1.0.0 (*)
├── aws-sdk-s3 v0.39.1 (*)
├── aws-smithy-http v0.60.0 (*)
├── aws-smithy-types v1.0.1 (*)
│   │   │   │   ├── aws-config v1.0.0 (*)
│   │   │   │   ├── aws-sdk-ec2 v0.39.1
│   │   │   │   │   ├── aws-credential-types v1.0.0 (*)
│   │   │   │   │   ├── aws-http v0.60.0 (*)
│   │   │   │   │   ├── aws-runtime v1.0.0 (*)
│   │   │   │   │   ├── aws-smithy-async v1.0.1 (*)
│   │   │   │   │   ├── aws-smithy-http v0.60.0 (*)
│   │   │   │   │   ├── aws-smithy-json v0.60.0 (*)
│   │   │   │   │   ├── aws-smithy-query v0.60.0 (*)
│   │   │   │   │   ├── aws-smithy-runtime v1.0.1 (*)
│   │   │   │   │   ├── aws-smithy-runtime-api v1.0.1 (*)
│   │   │   │   │   ├── aws-smithy-types v1.0.1 (*)
│   │   │   │   │   ├── aws-smithy-xml v0.60.0 (*)
│   │   │   │   │   ├── aws-types v1.0.0 (*)
├── madsim-aws-sdk-s3 v0.4.0+0.39 (*)

Environment details (OS name and version, etc.)

Linux / Mac

Logs

No response

MrCroxx commented 11 months ago

And this is the code from v0.35, which works properly.

/// Sets the credentials provider for this service
    pub fn credentials_provider(mut self, credentials_provider: impl ::aws_credential_types::provider::ProvideCredentials + 'static) -> Self {
        self.set_credentials_provider(::std::option::Option::Some(
            ::aws_credential_types::provider::SharedCredentialsProvider::new(credentials_provider),
        ));
        self
    }
    /// Sets the credentials provider for this service
    pub fn set_credentials_provider(
        &mut self,
        credentials_provider: ::std::option::Option<::aws_credential_types::provider::SharedCredentialsProvider>,
    ) -> &mut Self {
        self.config.store_or_unset(credentials_provider);
        self
    }
MrCroxx commented 11 months ago

Maybe related: https://github.com/smithy-lang/smithy-rs/pull/3156

ysaito1001 commented 11 months ago

Hi @MrCroxx, thank you for reporting this!

You are right about Config::credentials_provider returning always None because it tries loading a SharedCredentialsProvider from self.config, but not from self.runtime_components.

There are two things to note:

And I cannot make my hard-coded credentials for minio test env work.

We use test credentials throughout our tests (example). You shared with us the method definitions above, but could you also share a code snippet (or pseudo code) that runs into the problem because Config::credentials_provider returns a None?

I do agree that the API Config::credentials_provider returning a None is misleading.

MrCroxx commented 11 months ago

@ysaito1001 Hi, thanks for your reply.

could you also share a code snippet (or pseudo code) that runs into the problem because Config::credentials_provider returns a None?

Here is the code. It works well with 0.35 and before, which is the last version that credentials provider is set with config.

https://github.com/risingwavelabs/risingwave/pull/13635/files#diff-54f31637c15513a11ddd2228e29ac643575aad4d3f7354b34b9059346c8fe55dR644-R660

There are two things to note:

Even though Config::credentials_provider returns a None, a credentials_provider you pass to Builder::credentials_provider or Builder::set_credentials_provider is actually threaded through our request-dispatching infrastructure. So you should be able to use your custom credentials in your test environment. Say we are to implement Config::credentials_provider in terms of self.runtime_components. There isn't a method called credentials_provider on RuntimeComponentsBuilder because that struct isn't specific to AWS SDKs and is more broadly applicable to Smithy SDKs, so RuntimeComponentsBuilder internally keeps track of credentials as an identity resolver.

I don't totally get that. I found after Config is built, there is no way to get credentials_provier or runtime_comonents. Then how client know how to provide credentials? Or did I miss something?

ysaito1001 commented 11 months ago

Then how client know how to provide credentials? Or did I miss something?

I think you're asking how our code internally knows how to provide credentials with credentials passed by a customer? The internals of the client (in this case aws_sdk_s3::client::Client) no longer use a getter Client::credentials_provier to obtain configured credentials. Once credentials (in the provided diff above, that's Credentials::from_keys(access_key_id, secret_access_key, None)) are passed to Builder::set_credentials_provider, they are stored as SharedIdentityResolver in runtime components, and eventually used in our "orchestrator" like so. That's the reason why our internal code does not rely on a getter Client::credentials_provider to know how to provide credentials.

You can turn on tracing_subscriber with a tracing level TRACE:

tracing_subscriber::fmt()
    .with_max_level(tracing::Level::TRACE)
    .init();

to confirm that (you can look for words in tracing output "resolved identity").

https://github.com/risingwavelabs/risingwave/pull/13635/files#diff-54f31637c15513a11ddd2228e29ac643575aad4d3f7354b34b9059346c8fe55dR644-R660

I assume the highlighted code no longer works with a version of aws-sdk-s3 you're using? Could you share with us a runtime error you are getting?

rcoh commented 11 months ago

I think we could make this accessor work properly—I agree the current behavior is pretty confusing. Setting the credentials provider should definitely be working though—so let us know the behavior. you're seeing

MrCroxx commented 11 months ago
2023-11-26T22:27:22.460910653+08:00 TRACE invoke{service=s3 operation=GetObject}: aws_smithy_runtime::client::orchestrator: runtime_components=RuntimeComponents { auth_scheme_option_resolver: Tracked { _origin: "default_auth_options", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "sigv4" }, AuthSchemeId { scheme_id: "sigv4a" }, AuthSchemeId { scheme_id: "no_auth" }] }) }, http_client: Some(Tracked { _origin: "service config", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: Tracked { _origin: "ServiceRuntimePlugin", value: SharedEndpointResolver(DowncastParams(DefaultResolver { partition_resolver: PartitionResolver { partitions: [PartitionMetadata { id: "aws", region_regex: Regex("^(us|eu|ap|sa|ca|me|af)-\\w+-\\d+$"), regions: {"sa-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "af-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "me-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-east-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-north-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "me-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-west-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ca-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws", dns_suffix: "amazonaws.com", dual_stack_dns_suffix: "api.aws", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-us-gov", region_regex: Regex("^us\\-gov\\-\\w+\\-\\d+$"), regions: {"us-gov-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-gov-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-us-gov-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-us-gov", dns_suffix: "amazonaws.com", dual_stack_dns_suffix: "api.aws", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-cn", region_regex: Regex("^cn\\-\\w+\\-\\d+$"), regions: {"cn-northwest-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-cn-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "cn-north-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-cn", dns_suffix: "amazonaws.com.cn", dual_stack_dns_suffix: "api.amazonwebservices.com.cn", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-iso", region_regex: Regex("^us\\-iso\\-\\w+\\-\\d+$"), regions: {"us-iso-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-iso-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-iso-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-iso", dns_suffix: "c2s.ic.gov", dual_stack_dns_suffix: "c2s.ic.gov", supports_fips: true, supports_dual_stack: false } }, PartitionMetadata { id: "aws-iso-b", region_regex: Regex("^us\\-isob\\-\\w+\\-\\d+$"), regions: {"us-isob-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-iso-b-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-iso-b", dns_suffix: "sc2s.sgov.gov", dual_stack_dns_suffix: "sc2s.sgov.gov", supports_fips: true, supports_dual_stack: false } }] } })) }, auth_schemes: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedAuthScheme(SigV4AuthScheme { signer: SigV4Signer }) }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedAuthScheme(SigV4aAuthScheme { signer: SigV4aSigner }) }, Tracked { _origin: "NoAuthRuntimePlugin", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }, identity_resolvers: [Tracked { _origin: "service config", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "sigv4a" }, identity_resolver: SharedIdentityResolver { inner: SharedCredentialsProvider(DefaultCredentialsChain { provider_chain: CredentialsProviderChain { providers: [("Environment", EnvironmentVariableCredentialsProvider { env: Env(Real) }), ("Profile", ProfileFileCredentialsProvider { factory: NamedProviderFactory { providers: {"environment": EnvironmentVariableCredentialsProvider { env: Env(Real) }, "ec2instancemetadata": ImdsCredentialsProvider { client: Client { operation: Operation { service_name: "imds", operation_name: "get", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } }), SharedRuntimePlugin(TokenRuntimePlugin { components: RuntimeComponentsBuilder { builder_name: "TokenRuntimePlugin", auth_scheme_option_resolver: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthScheme(TokenAuthScheme { signer: TokenSigner }) }], identity_cache: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "TokenRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }, identity_resolver: SharedIdentityResolver { inner: TokenResolver { inner: TokenResolverInner { cache: ExpiringCache { buffer_time: 120s, value: RwLock { data: OnceCell { value: None } }, _phantom: PhantomData<aws_config::imds::client::error::ImdsError> }, refresh: Operation { service_name: "imds", operation_name: "get-token", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: Some(Tracked { _origin: "operation", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "no_auth" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "operation", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: Some(Tracked { _origin: "operation", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "operation", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(2) } } }], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<((), aws_config::imds::client::token::TtlToken, aws_config::imds::client::error::TokenError)> } } }, cache_partition: IdentityCachePartition(3) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<(alloc::string::String, aws_config::imds::client::SensitiveString, aws_config::imds::client::error::InnerImdsError)> } }, env: Env(Real), profile: None, time_source: SharedTimeSource(SystemTimeSource), last_retrieved_credentials: RwLock { data: None, poisoned: false, .. } }, "ecscontainer": EcsCredentialsProvider { inner: OnceCell { value: None }, env: Env(Real), builder: Builder { provider_config: Some(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), dns: None, connect_timeout: None, read_timeout: None } }} }, sdk_config: SdkConfig { app_name: None, identity_cache: None, credentials_provider: None, region: Some(Region("ap-southeast-1")), endpoint_url: None, retry_config: Some(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false }), sleep_impl: Some(SharedAsyncSleep(TokioSleep)), time_source: Some(SharedTimeSource(SharedTimeSource(SystemTimeSource))), timeout_config: None, stalled_stream_protection_config: None, http_client: None, use_fips: Some(false), use_dual_stack: Some(false), behavior_version: Some(BehaviorVersion) }, provider_config: ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None } }), ("WebIdentityToken", WebIdentityTokenCredentialsProvider { source: Env(Env(Real)), time_source: SharedTimeSource(SystemTimeSource), fs: Fs(Real), sts_client: Client { handle: Handle { conf: Config { config: FrozenLayer(Layer { name: "aws_sdk_sts::config::Config", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), cloneable: CloneableLayer(Layer { name: "", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), runtime_components: RuntimeComponentsBuilder { builder_name: "service config", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "service config", value: SharedTimeSource(SharedTimeSource(SystemTimeSource)) }), sleep_impl: Some(Tracked { _origin: "service config", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }, runtime_plugins: [], behavior_version: Some(BehaviorVersion) }, runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "sts" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(ServiceRuntimePlugin { config: None, runtime_components: RuntimeComponentsBuilder { builder_name: "ServiceRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ServiceRuntimePlugin", value: SharedEndpointResolver(DowncastParams(DefaultResolver { partition_resolver: PartitionResolver { partitions: [PartitionMetadata { id: "aws", region_regex: Regex("^(us|eu|ap|sa|ca|me|af)-\\w+-\\d+$"), regions: {"eu-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "af-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "me-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-west-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-north-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "sa-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "me-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ca-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-east-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws", dns_suffix: "amazonaws.com", dual_stack_dns_suffix: "api.aws", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-us-gov", region_regex: Regex("^us\\-gov\\-\\w+\\-\\d+$"), regions: {"us-gov-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-gov-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-us-gov-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-us-gov", dns_suffix: "amazonaws.com", dual_stack_dns_suffix: "api.aws", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-cn", region_regex: Regex("^cn\\-\\w+\\-\\d+$"), regions: {"cn-north-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-cn-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "cn-northwest-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-cn", dns_suffix: "amazonaws.com.cn", dual_stack_dns_suffix: "api.amazonwebservices.com.cn", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-iso", region_regex: Regex("^us\\-iso\\-\\w+\\-\\d+$"), regions: {"us-iso-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-iso-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-iso-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-iso", dns_suffix: "c2s.ic.gov", dual_stack_dns_suffix: "c2s.ic.gov", supports_fips: true, supports_dual_stack: false } }, PartitionMetadata { id: "aws-iso-b", region_regex: Regex("^us\\-isob\\-\\w+\\-\\d+$"), regions: {"aws-iso-b-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-isob-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-iso-b", dns_suffix: "sc2s.sgov.gov", dual_stack_dns_suffix: "sc2s.sgov.gov", supports_fips: true, supports_dual_stack: false } }] } })) }), auth_schemes: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedAuthScheme(SigV4AuthScheme { signer: SigV4Signer }) }], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: ServiceClockSkewInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: RequestInfoInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: InvocationIdInterceptor { default: DefaultInvocationIdGenerator { rng: Mutex { data: Rng(13198817734911050040), poisoned: false, .. } } } } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: RecursionDetectionInterceptor { env: Env(Real) } } }], retry_classifiers: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedRetryClassifier(HttpStatusCodeClassifier { retryable_status_codes: [500, 502, 503, 504] }) }], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "aws_sdk_sts::config::Config", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "service config", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "service config", value: SharedTimeSource(SharedTimeSource(SystemTimeSource)) }), sleep_impl: Some(Tracked { _origin: "service config", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: None }), SharedRuntimePlugin(NoAuthRuntimePlugin(RuntimeComponentsBuilder { builder_name: "NoAuthRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "NoAuthRuntimePlugin", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: None, identity_resolvers: [Tracked { _origin: "NoAuthRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(4) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }))], operation_plugins: [] } } } }), ("EcsContainer", EcsCredentialsProvider { inner: OnceCell { value: None }, env: Env(Real), builder: Builder { provider_config: Some(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), dns: None, connect_timeout: None, read_timeout: None } }), ("Ec2InstanceMetadata", ImdsCredentialsProvider { client: Client { operation: Operation { service_name: "imds", operation_name: "get", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } }), SharedRuntimePlugin(TokenRuntimePlugin { components: RuntimeComponentsBuilder { builder_name: "TokenRuntimePlugin", auth_scheme_option_resolver: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthScheme(TokenAuthScheme { signer: TokenSigner }) }], identity_cache: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "TokenRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }, identity_resolver: SharedIdentityResolver { inner: TokenResolver { inner: TokenResolverInner { cache: ExpiringCache { buffer_time: 120s, value: RwLock { data: OnceCell { value: None } }, _phantom: PhantomData<aws_config::imds::client::error::ImdsError> }, refresh: Operation { service_name: "imds", operation_name: "get-token", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: Some(Tracked { _origin: "operation", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "no_auth" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "operation", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: Some(Tracked { _origin: "operation", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "operation", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(5) } } }], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<((), aws_config::imds::client::token::TtlToken, aws_config::imds::client::error::TokenError)> } } }, cache_partition: IdentityCachePartition(6) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<(alloc::string::String, aws_config::imds::client::SensitiveString, aws_config::imds::client::error::InnerImdsError)> } }, env: Env(Real), profile: None, time_source: SharedTimeSource(SystemTimeSource), last_retrieved_credentials: RwLock { data: None, poisoned: false, .. } })] } }), cache_partition: IdentityCachePartition(7) } } }, Tracked { _origin: "service config", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "sigv4" }, identity_resolver: SharedIdentityResolver { inner: SharedCredentialsProvider(DefaultCredentialsChain { provider_chain: CredentialsProviderChain { providers: [("Environment", EnvironmentVariableCredentialsProvider { env: Env(Real) }), ("Profile", ProfileFileCredentialsProvider { factory: NamedProviderFactory { providers: {"environment": EnvironmentVariableCredentialsProvider { env: Env(Real) }, "ec2instancemetadata": ImdsCredentialsProvider { client: Client { operation: Operation { service_name: "imds", operation_name: "get", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } }), SharedRuntimePlugin(TokenRuntimePlugin { components: RuntimeComponentsBuilder { builder_name: "TokenRuntimePlugin", auth_scheme_option_resolver: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthScheme(TokenAuthScheme { signer: TokenSigner }) }], identity_cache: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "TokenRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }, identity_resolver: SharedIdentityResolver { inner: TokenResolver { inner: TokenResolverInner { cache: ExpiringCache { buffer_time: 120s, value: RwLock { data: OnceCell { value: None } }, _phantom: PhantomData<aws_config::imds::client::error::ImdsError> }, refresh: Operation { service_name: "imds", operation_name: "get-token", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: Some(Tracked { _origin: "operation", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "no_auth" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "operation", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: Some(Tracked { _origin: "operation", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "operation", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(2) } } }], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<((), aws_config::imds::client::token::TtlToken, aws_config::imds::client::error::TokenError)> } } }, cache_partition: IdentityCachePartition(3) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<(alloc::string::String, aws_config::imds::client::SensitiveString, aws_config::imds::client::error::InnerImdsError)> } }, env: Env(Real), profile: None, time_source: SharedTimeSource(SystemTimeSource), last_retrieved_credentials: RwLock { data: None, poisoned: false, .. } }, "ecscontainer": EcsCredentialsProvider { inner: OnceCell { value: None }, env: Env(Real), builder: Builder { provider_config: Some(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), dns: None, connect_timeout: None, read_timeout: None } }} }, sdk_config: SdkConfig { app_name: None, identity_cache: None, credentials_provider: None, region: Some(Region("ap-southeast-1")), endpoint_url: None, retry_config: Some(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false }), sleep_impl: Some(SharedAsyncSleep(TokioSleep)), time_source: Some(SharedTimeSource(SharedTimeSource(SystemTimeSource))), timeout_config: None, stalled_stream_protection_config: None, http_client: None, use_fips: Some(false), use_dual_stack: Some(false), behavior_version: Some(BehaviorVersion) }, provider_config: ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None } }), ("WebIdentityToken", WebIdentityTokenCredentialsProvider { source: Env(Env(Real)), time_source: SharedTimeSource(SystemTimeSource), fs: Fs(Real), sts_client: Client { handle: Handle { conf: Config { config: FrozenLayer(Layer { name: "aws_sdk_sts::config::Config", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), cloneable: CloneableLayer(Layer { name: "", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), runtime_components: RuntimeComponentsBuilder { builder_name: "service config", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "service config", value: SharedTimeSource(SharedTimeSource(SystemTimeSource)) }), sleep_impl: Some(Tracked { _origin: "service config", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }, runtime_plugins: [], behavior_version: Some(BehaviorVersion) }, runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "sts" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(ServiceRuntimePlugin { config: None, runtime_components: RuntimeComponentsBuilder { builder_name: "ServiceRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ServiceRuntimePlugin", value: SharedEndpointResolver(DowncastParams(DefaultResolver { partition_resolver: PartitionResolver { partitions: [PartitionMetadata { id: "aws", region_regex: Regex("^(us|eu|ap|sa|ca|me|af)-\\w+-\\d+$"), regions: {"eu-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "af-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "me-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-west-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-north-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "sa-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "me-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ca-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-east-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws", dns_suffix: "amazonaws.com", dual_stack_dns_suffix: "api.aws", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-us-gov", region_regex: Regex("^us\\-gov\\-\\w+\\-\\d+$"), regions: {"us-gov-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-gov-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-us-gov-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-us-gov", dns_suffix: "amazonaws.com", dual_stack_dns_suffix: "api.aws", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-cn", region_regex: Regex("^cn\\-\\w+\\-\\d+$"), regions: {"cn-north-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-cn-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "cn-northwest-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-cn", dns_suffix: "amazonaws.com.cn", dual_stack_dns_suffix: "api.amazonwebservices.com.cn", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-iso", region_regex: Regex("^us\\-iso\\-\\w+\\-\\d+$"), regions: {"us-iso-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-iso-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-iso-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-iso", dns_suffix: "c2s.ic.gov", dual_stack_dns_suffix: "c2s.ic.gov", supports_fips: true, supports_dual_stack: false } }, PartitionMetadata { id: "aws-iso-b", region_regex: Regex("^us\\-isob\\-\\w+\\-\\d+$"), regions: {"aws-iso-b-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-isob-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-iso-b", dns_suffix: "sc2s.sgov.gov", dual_stack_dns_suffix: "sc2s.sgov.gov", supports_fips: true, supports_dual_stack: false } }] } })) }), auth_schemes: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedAuthScheme(SigV4AuthScheme { signer: SigV4Signer }) }], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: ServiceClockSkewInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: RequestInfoInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: InvocationIdInterceptor { default: DefaultInvocationIdGenerator { rng: Mutex { data: Rng(13198817734911050040), poisoned: false, .. } } } } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: RecursionDetectionInterceptor { env: Env(Real) } } }], retry_classifiers: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedRetryClassifier(HttpStatusCodeClassifier { retryable_status_codes: [500, 502, 503, 504] }) }], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "aws_sdk_sts::config::Config", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "service config", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "service config", value: SharedTimeSource(SharedTimeSource(SystemTimeSource)) }), sleep_impl: Some(Tracked { _origin: "service config", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: None }), SharedRuntimePlugin(NoAuthRuntimePlugin(RuntimeComponentsBuilder { builder_name: "NoAuthRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "NoAuthRuntimePlugin", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: None, identity_resolvers: [Tracked { _origin: "NoAuthRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(4) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }))], operation_plugins: [] } } } }), ("EcsContainer", EcsCredentialsProvider { inner: OnceCell { value: None }, env: Env(Real), builder: Builder { provider_config: Some(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), dns: None, connect_timeout: None, read_timeout: None } }), ("Ec2InstanceMetadata", ImdsCredentialsProvider { client: Client { operation: Operation { service_name: "imds", operation_name: "get", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } }), SharedRuntimePlugin(TokenRuntimePlugin { components: RuntimeComponentsBuilder { builder_name: "TokenRuntimePlugin", auth_scheme_option_resolver: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthScheme(TokenAuthScheme { signer: TokenSigner }) }], identity_cache: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "TokenRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }, identity_resolver: SharedIdentityResolver { inner: TokenResolver { inner: TokenResolverInner { cache: ExpiringCache { buffer_time: 120s, value: RwLock { data: OnceCell { value: None } }, _phantom: PhantomData<aws_config::imds::client::error::ImdsError> }, refresh: Operation { service_name: "imds", operation_name: "get-token", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: Some(Tracked { _origin: "operation", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "no_auth" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "operation", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: Some(Tracked { _origin: "operation", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "operation", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(5) } } }], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<((), aws_config::imds::client::token::TtlToken, aws_config::imds::client::error::TokenError)> } } }, cache_partition: IdentityCachePartition(6) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<(alloc::string::String, aws_config::imds::client::SensitiveString, aws_config::imds::client::error::InnerImdsError)> } }, env: Env(Real), profile: None, time_source: SharedTimeSource(SystemTimeSource), last_retrieved_credentials: RwLock { data: None, poisoned: false, .. } })] } }), cache_partition: IdentityCachePartition(8) } } }, Tracked { _origin: "service config", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "sigv4a" }, identity_resolver: SharedIdentityResolver { inner: SharedCredentialsProvider(Credentials { provider_name: "Static", access_key_id: "hummockadmin", secret_access_key: "** redacted **" }), cache_partition: IdentityCachePartition(9) } } }, Tracked { _origin: "service config", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "sigv4" }, identity_resolver: SharedIdentityResolver { inner: SharedCredentialsProvider(Credentials { provider_name: "Static", access_key_id: "hummockadmin", secret_access_key: "** redacted **" }), cache_partition: IdentityCachePartition(10) } } }, Tracked { _origin: "NoAuthRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(11) } } }], interceptors: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: ServiceClockSkewInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: RequestInfoInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: InvocationIdInterceptor { default: DefaultInvocationIdGenerator { rng: Mutex { data: Rng(18184482089096932583), poisoned: false, .. } } } } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: RecursionDetectionInterceptor { env: Env(Real) } } }, Tracked { _origin: "GetObject", value: SharedInterceptor { interceptor: StalledStreamProtectionInterceptor { enable_for_request_body: false, enable_for_response_body: true } } }, Tracked { _origin: "GetObject", value: SharedInterceptor { interceptor: GetObjectEndpointParamsInterceptor } }, Tracked { _origin: "GetObject", value: SharedInterceptor { interceptor: ResponseChecksumInterceptor { response_algorithms: ["crc32", "crc32c", "sha256", "sha1"] } } }], retry_classifiers: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedRetryClassifier(HttpStatusCodeClassifier { retryable_status_codes: [500, 502, 503, 504] }) }, Tracked { _origin: "GetObject", value: SharedRetryClassifier(TransientErrorClassifier { _inner: PhantomData<aws_sdk_s3::operation::get_object::GetObjectError> }) }, Tracked { _origin: "GetObject", value: SharedRetryClassifier(ModeledAsRetryableClassifier { _inner: PhantomData<aws_sdk_s3::operation::get_object::GetObjectError> }) }, Tracked { _origin: "GetObject", value: SharedRetryClassifier(AwsErrorCodeClassifier { _inner: PhantomData<aws_sdk_s3::operation::get_object::GetObjectError> }) }], retry_strategy: Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }, time_source: Some(Tracked { _origin: "service config", value: SharedTimeSource(SharedTimeSource(SystemTimeSource)) }), sleep_impl: Some(Tracked { _origin: "service config", value: SharedAsyncSleep(TokioSleep) }), config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }, Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }, Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }
2023-11-26T22:27:22.462444255+08:00 TRACE invoke{service=s3 operation=GetObject}: aws_smithy_runtime::client::orchestrator: operation_timeout_config=MaybeTimeoutConfig { sleep_impl: Some(SharedAsyncSleep(TokioSleep)), timeout: None, timeout_kind: Operation }
2023-11-26T22:27:22.462471876+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::interceptors: running `read_before_serialization` interceptors
2023-11-26T22:27:22.462498035+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::interceptors: running `modify_before_serialization` interceptors
2023-11-26T22:27:22.462513624+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime_api::client::interceptors::context: entering 'serialization' phase
2023-11-26T22:27:22.462589495+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime_api::client::interceptors::context: entering 'before transmit' phase
2023-11-26T22:27:22.462604863+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::interceptors: running `read_after_serialization` interceptors
2023-11-26T22:27:22.462621484+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::interceptors: running `modify_before_retry_loop` interceptors
2023-11-26T22:27:22.46264625+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::retries::strategy::standard: no client rate limiter configured, so no token is required for the initial request.
2023-11-26T22:27:22.462654235+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::orchestrator: retry strategy has OKed initial request
2023-11-26T22:27:22.462661037+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime_api::client::interceptors::context: saving request checkpoint...
2023-11-26T22:27:22.462670054+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime_api::client::interceptors::context: successfully saved request checkpoint
2023-11-26T22:27:22.462677258+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::orchestrator: checking if context can be rewound for attempt #1
2023-11-26T22:27:22.462685954+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::orchestrator: attempt_timeout_config=MaybeTimeoutConfig { sleep_impl: Some(SharedAsyncSleep(TokioSleep)), timeout: None, timeout_kind: OperationAttempt }
2023-11-26T22:27:22.46269438+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::orchestrator: beginning attempt #1
2023-11-26T22:27:22.46271058+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `read_before_attempt` interceptors
2023-11-26T22:27:22.462731038+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::endpoints: orchestrating endpoint resolution
2023-11-26T22:27:22.462740205+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::endpoints: resolving endpoint endpoint_params=EndpointResolverParams(TypeErasedBox[!Clone]:Params { bucket: Some("hummock001"), region: Some("custom"), use_fips: false, use_dual_stack: false, endpoint: Some("http://127.0.0.1:9301"), force_path_style: true, accelerate: false, use_global_endpoint: false, use_object_lambda_endpoint: None, disable_access_points: None, disable_multi_region_access_points: false, use_arn_region: None }) endpoint_prefix=None
2023-11-26T22:27:22.472681918+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::endpoints: will use endpoint Endpoint { url: "http://127.0.0.1:9301/hummock001", headers: {}, properties: {"authSchemes": Array([Object({"signingRegion": String("custom"), "disableDoubleEncoding": Bool(true), "signingName": String("s3"), "name": String("sigv4")})])} }
2023-11-26T22:27:22.472737611+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `modify_before_signing` interceptors
2023-11-26T22:27:22.472804246+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `read_before_signing` interceptors
2023-11-26T22:27:22.472827889+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: orchestrating auth auth_scheme_option_resolver_params=AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:StaticAuthSchemeOptionResolverParams) auth_scheme_options=[AuthSchemeId { scheme_id: "sigv4" }, AuthSchemeId { scheme_id: "sigv4a" }, AuthSchemeId { scheme_id: "no_auth" }]
2023-11-26T22:27:22.472841375+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: resolved auth scheme, identity cache, identity resolver, and signing implementation auth_scheme=SharedAuthScheme(SigV4AuthScheme { signer: SigV4Signer }) identity_cache=SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) identity_resolver=SharedIdentityResolver { inner: SharedCredentialsProvider(DefaultCredentialsChain { provider_chain: CredentialsProviderChain { providers: [("Environment", EnvironmentVariableCredentialsProvider { env: Env(Real) }), ("Profile", ProfileFileCredentialsProvider { factory: NamedProviderFactory { providers: {"environment": EnvironmentVariableCredentialsProvider { env: Env(Real) }, "ec2instancemetadata": ImdsCredentialsProvider { client: Client { operation: Operation { service_name: "imds", operation_name: "get", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } }), SharedRuntimePlugin(TokenRuntimePlugin { components: RuntimeComponentsBuilder { builder_name: "TokenRuntimePlugin", auth_scheme_option_resolver: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthScheme(TokenAuthScheme { signer: TokenSigner }) }], identity_cache: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "TokenRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }, identity_resolver: SharedIdentityResolver { inner: TokenResolver { inner: TokenResolverInner { cache: ExpiringCache { buffer_time: 120s, value: RwLock { data: OnceCell { value: None } }, _phantom: PhantomData<aws_config::imds::client::error::ImdsError> }, refresh: Operation { service_name: "imds", operation_name: "get-token", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: Some(Tracked { _origin: "operation", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "no_auth" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "operation", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: Some(Tracked { _origin: "operation", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "operation", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(2) } } }], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<((), aws_config::imds::client::token::TtlToken, aws_config::imds::client::error::TokenError)> } } }, cache_partition: IdentityCachePartition(3) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<(alloc::string::String, aws_config::imds::client::SensitiveString, aws_config::imds::client::error::InnerImdsError)> } }, env: Env(Real), profile: None, time_source: SharedTimeSource(SystemTimeSource), last_retrieved_credentials: RwLock { data: None, poisoned: false, .. } }, "ecscontainer": EcsCredentialsProvider { inner: OnceCell { value: None }, env: Env(Real), builder: Builder { provider_config: Some(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), dns: None, connect_timeout: None, read_timeout: None } }} }, sdk_config: SdkConfig { app_name: None, identity_cache: None, credentials_provider: None, region: Some(Region("ap-southeast-1")), endpoint_url: None, retry_config: Some(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false }), sleep_impl: Some(SharedAsyncSleep(TokioSleep)), time_source: Some(SharedTimeSource(SharedTimeSource(SystemTimeSource))), timeout_config: None, stalled_stream_protection_config: None, http_client: None, use_fips: Some(false), use_dual_stack: Some(false), behavior_version: Some(BehaviorVersion) }, provider_config: ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None } }), ("WebIdentityToken", WebIdentityTokenCredentialsProvider { source: Env(Env(Real)), time_source: SharedTimeSource(SystemTimeSource), fs: Fs(Real), sts_client: Client { handle: Handle { conf: Config { config: FrozenLayer(Layer { name: "aws_sdk_sts::config::Config", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), cloneable: CloneableLayer(Layer { name: "", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), runtime_components: RuntimeComponentsBuilder { builder_name: "service config", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "service config", value: SharedTimeSource(SharedTimeSource(SystemTimeSource)) }), sleep_impl: Some(Tracked { _origin: "service config", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }, runtime_plugins: [], behavior_version: Some(BehaviorVersion) }, runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "sts" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(ServiceRuntimePlugin { config: None, runtime_components: RuntimeComponentsBuilder { builder_name: "ServiceRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ServiceRuntimePlugin", value: SharedEndpointResolver(DowncastParams(DefaultResolver { partition_resolver: PartitionResolver { partitions: [PartitionMetadata { id: "aws", region_regex: Regex("^(us|eu|ap|sa|ca|me|af)-\\w+-\\d+$"), regions: {"eu-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "af-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "me-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-west-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-north-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "sa-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "me-south-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-northeast-3": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "eu-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ca-central-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "ap-southeast-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-east-2": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws", dns_suffix: "amazonaws.com", dual_stack_dns_suffix: "api.aws", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-us-gov", region_regex: Regex("^us\\-gov\\-\\w+\\-\\d+$"), regions: {"us-gov-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-gov-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-us-gov-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-us-gov", dns_suffix: "amazonaws.com", dual_stack_dns_suffix: "api.aws", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-cn", region_regex: Regex("^cn\\-\\w+\\-\\d+$"), regions: {"cn-north-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-cn-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "cn-northwest-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-cn", dns_suffix: "amazonaws.com.cn", dual_stack_dns_suffix: "api.amazonwebservices.com.cn", supports_fips: true, supports_dual_stack: true } }, PartitionMetadata { id: "aws-iso", region_regex: Regex("^us\\-iso\\-\\w+\\-\\d+$"), regions: {"us-iso-west-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "aws-iso-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-iso-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-iso", dns_suffix: "c2s.ic.gov", dual_stack_dns_suffix: "c2s.ic.gov", supports_fips: true, supports_dual_stack: false } }, PartitionMetadata { id: "aws-iso-b", region_regex: Regex("^us\\-isob\\-\\w+\\-\\d+$"), regions: {"aws-iso-b-global": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }, "us-isob-east-1": PartitionOutputOverride { name: None, dns_suffix: None, dual_stack_dns_suffix: None, supports_fips: None, supports_dual_stack: None }}, outputs: PartitionOutput { name: "aws-iso-b", dns_suffix: "sc2s.sgov.gov", dual_stack_dns_suffix: "sc2s.sgov.gov", supports_fips: true, supports_dual_stack: false } }] } })) }), auth_schemes: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedAuthScheme(SigV4AuthScheme { signer: SigV4Signer }) }], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: ServiceClockSkewInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: RequestInfoInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: InvocationIdInterceptor { default: DefaultInvocationIdGenerator { rng: Mutex { data: Rng(13198817734911050040), poisoned: false, .. } } } } }, Tracked { _origin: "ServiceRuntimePlugin", value: SharedInterceptor { interceptor: RecursionDetectionInterceptor { env: Env(Real) } } }], retry_classifiers: [Tracked { _origin: "ServiceRuntimePlugin", value: SharedRetryClassifier(HttpStatusCodeClassifier { retryable_status_codes: [500, 502, 503, 504] }) }], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "aws_sdk_sts::config::Config", items: [TypeErasedBox[Clone]:Set(UseFips(false)), TypeErasedBox[Clone]:Set(UseDualStack(false)), TypeErasedBox[Clone]:Set(SigningName("sts")), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::app_name::AppName"), TypeErasedBox[Clone]:ExplicitlyUnset("aws_types::endpoint_config::EndpointUrl"), TypeErasedBox[Clone]:Set(Region("ap-southeast-1")), TypeErasedBox[Clone]:Set(ApiMetadata { service_id: "sts", version: "0.39.0" }), TypeErasedBox[Clone]:Set(SigningRegion("ap-southeast-1")), TypeErasedBox[Clone]:Set(RetryConfig { mode: Standard, max_attempts: 3, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "service config", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "service config", value: SharedTimeSource(SharedTimeSource(SystemTimeSource)) }), sleep_impl: Some(Tracked { _origin: "service config", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: None }), SharedRuntimePlugin(NoAuthRuntimePlugin(RuntimeComponentsBuilder { builder_name: "NoAuthRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "NoAuthRuntimePlugin", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: None, identity_resolvers: [Tracked { _origin: "NoAuthRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(4) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }))], operation_plugins: [] } } } }), ("EcsContainer", EcsCredentialsProvider { inner: OnceCell { value: None }, env: Env(Real), builder: Builder { provider_config: Some(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), dns: None, connect_timeout: None, read_timeout: None } }), ("Ec2InstanceMetadata", ImdsCredentialsProvider { client: Client { operation: Operation { service_name: "imds", operation_name: "get", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } }), SharedRuntimePlugin(TokenRuntimePlugin { components: RuntimeComponentsBuilder { builder_name: "TokenRuntimePlugin", auth_scheme_option_resolver: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "TokenRuntimePlugin", value: SharedAuthScheme(TokenAuthScheme { signer: TokenSigner }) }], identity_cache: Some(Tracked { _origin: "TokenRuntimePlugin", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "TokenRuntimePlugin", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "x-aws-ec2-metadata-token" }, identity_resolver: SharedIdentityResolver { inner: TokenResolver { inner: TokenResolverInner { cache: ExpiringCache { buffer_time: 120s, value: RwLock { data: OnceCell { value: None } }, _phantom: PhantomData<aws_config::imds::client::error::ImdsError> }, refresh: Operation { service_name: "imds", operation_name: "get-token", runtime_plugins: RuntimePlugins { client_plugins: [SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_http_client_plugin", auth_scheme_option_resolver: None, http_client: Some(Tracked { _origin: "default_http_client_plugin", value: SharedHttpClient { selector: HyperClient { connector_cache: RwLock { data: {}, poisoned: false, .. }, client_builder: Builder { client_config: Config { retry_canceled_requests: true, set_host: true, ver: Auto }, conn_builder: Builder { exec: Exec, h09_responses: false, h1_parser_config: ParserConfig { allow_spaces_after_header_name_in_responses: false, allow_obsolete_multiline_headers_in_responses: false, allow_multiple_spaces_in_request_line_delimiters: false, allow_multiple_spaces_in_response_status_delimiters: false, ignore_invalid_headers_in_responses: false }, h1_writev: None, h1_title_case_headers: false, h1_preserve_header_case: false, h1_read_buf_exact_size: None, h1_max_buf_size: None, h2_builder: Config { adaptive_window: false, initial_conn_window_size: 5242880, initial_stream_window_size: 2097152, max_frame_size: 16384, keep_alive_interval: None, keep_alive_timeout: 20s, keep_alive_while_idle: false, max_concurrent_reset_streams: None, max_send_buffer_size: 1048576 }, version: Http1 }, pool_config: Config { idle_timeout: Some(90s), max_idle_per_host: 18446744073709551615 } } } } }), endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_identity_cache_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: Some(Tracked { _origin: "default_identity_cache_plugin", value: SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x557247e274d0, default_expiration: 900s }) }), identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_retry_config", items: [TypeErasedBox[!Clone]:Set(RetryPartition { name: "imds" }), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 1, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_retry_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: Some(Tracked { _origin: "default_retry_config_plugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_retry_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_sleep_impl_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: Some(Tracked { _origin: "default_sleep_impl_plugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: None, runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_time_source_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: Some(Tracked { _origin: "default_time_source_plugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: None, config_validators: [] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_timeout_config", items: [TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: None, read_timeout: None, operation_timeout: None, operation_attempt_timeout: None })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_timeout_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_timeout_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "default_stalled_stream_protection_config", items: [TypeErasedBox[!Clone]:Set(StalledStreamProtectionConfig { is_enabled: true, grace_period: 5s })] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "default_stalled_stream_protection_config_plugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: None, auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [Tracked { _origin: "default_stalled_stream_protection_config_plugin", value: SharedConfigValidator { inner: StaticFn } }] }), order: Some(Defaults) }), SharedRuntimePlugin(StaticRuntimePlugin { config: Some(FrozenLayer(Layer { name: "operation", items: [TypeErasedBox[!Clone]:Set(SharedResponseDeserializer(FnDeserializer)), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(SharedRequestSerializer(FnSerializer))] })), runtime_components: Some(RuntimeComponentsBuilder { builder_name: "operation", auth_scheme_option_resolver: Some(Tracked { _origin: "operation", value: SharedAuthSchemeOptionResolver(StaticAuthSchemeOptionResolver { auth_scheme_options: [AuthSchemeId { scheme_id: "no_auth" }] }) }), http_client: None, endpoint_resolver: None, auth_schemes: [Tracked { _origin: "operation", value: SharedAuthScheme(NoAuthScheme { signer: NoAuthSigner }) }], identity_cache: Some(Tracked { _origin: "operation", value: SharedIdentityCache(NoCache) }), identity_resolvers: [Tracked { _origin: "operation", value: ConfiguredIdentityResolver { auth_scheme: AuthSchemeId { scheme_id: "no_auth" }, identity_resolver: SharedIdentityResolver { inner: NoAuthIdentityResolver, cache_partition: IdentityCachePartition(5) } } }], interceptors: [Tracked { _origin: "operation", value: SharedInterceptor { interceptor: ConnectionPoisoningInterceptor } }], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] }), order: None }), SharedRuntimePlugin(ImdsCommonRuntimePlugin { config: FrozenLayer(Layer { name: "ImdsCommonRuntimePlugin", items: [TypeErasedBox[!Clone]:Set(EndpointResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(AuthSchemeOptionResolverParams(TypeErasedBox[!Clone]:())), TypeErasedBox[!Clone]:Set(TimeoutConfig { connect_timeout: Some(1s), read_timeout: Some(1s), operation_timeout: None, operation_attempt_timeout: None }), TypeErasedBox[!Clone]:Set(AwsUserAgent { sdk_metadata: SdkMetadata { name: "rust", version: "1.0.0" }, api_metadata: ApiMetadata { service_id: "imds", version: "1.0.0" }, os_metadata: OsMetadata { os_family: Linux, version: None }, language_metadata: LanguageMetadata { lang: "rust", version: "1.75.0-nightly", extras: AdditionalMetadataList([]) }, exec_env_metadata: None, feature_metadata: [], config_metadata: [], framework_metadata: [], app_name: None }), TypeErasedBox[!Clone]:Set(SensitiveOutput), TypeErasedBox[!Clone]:Set(RetryConfig { mode: Standard, max_attempts: 4, initial_backoff: 1s, max_backoff: 20s, reconnect_mode: ReconnectOnTransientError, use_static_exponential_base: false })] }), components: RuntimeComponentsBuilder { builder_name: "ImdsCommonRuntimePlugin", auth_scheme_option_resolver: None, http_client: None, endpoint_resolver: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedEndpointResolver(ImdsEndpointResolver { endpoint_source: Env(ProviderConfig { env: Env(Real), fs: Fs(Real), time_source: SharedTimeSource(SystemTimeSource), http_client: None, sleep_impl: Some(SharedAsyncSleep(TokioSleep)), region: Some(Region("ap-southeast-1")), use_fips: None, use_dual_stack: None, profile_name_override: None }), mode_override: None }) }), auth_schemes: [], identity_cache: None, identity_resolvers: [], interceptors: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedInterceptor { interceptor: UserAgentInterceptor } }], retry_classifiers: [Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryClassifier(ImdsResponseRetryClassifier) }], retry_strategy: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedRetryStrategy(StandardRetryStrategy { retry_permit: Mutex { data: None, poisoned: false, .. } }) }), time_source: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedTimeSource(SystemTimeSource) }), sleep_impl: Some(Tracked { _origin: "ImdsCommonRuntimePlugin", value: SharedAsyncSleep(TokioSleep) }), config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<((), aws_config::imds::client::token::TtlToken, aws_config::imds::client::error::TokenError)> } } }, cache_partition: IdentityCachePartition(6) } } }], interceptors: [], retry_classifiers: [], retry_strategy: None, time_source: None, sleep_impl: None, config_validators: [] } })], operation_plugins: [] }, _phantom: PhantomData<(alloc::string::String, aws_config::imds::client::SensitiveString, aws_config::imds::client::error::InnerImdsError)> } }, env: Env(Real), profile: None, time_source: SharedTimeSource(SystemTimeSource), last_retrieved_credentials: RwLock { data: None, poisoned: false, .. } })] } }), cache_partition: IdentityCachePartition(8) } signer=SigV4Signer
2023-11-26T22:27:22.473093303+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: extracted auth scheme endpoint config auth_scheme_endpoint_config=AuthSchemeEndpointConfig(Some(Object({"signingRegion": String("custom"), "disableDoubleEncoding": Bool(true), "signingName": String("s3"), "name": String("sigv4")})))
2023-11-26T22:27:22.473183721+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt:lazy_load_identity:provide_credentials{provider=default_chain}: aws_config::meta::credentials::chain: provider in chain did not provide credentials provider=Environment context=the credential provider was not enabled: environment variable not set (CredentialsNotLoaded(CredentialsNotLoaded { source: "environment variable not set" }))
2023-11-26T22:27:22.473228604+08:00  INFO invoke{service=s3 operation=GetObject}:try_op:try_attempt:lazy_load_identity:provide_credentials{provider=default_chain}:load_credentials{provider=Profile}: aws_config::profile::credentials: constructed abstract provider from config file chain=ProfileChain { base: AccessKey(Credentials { provider_name: "ProfileFile", access_key_id: "{*** MY ACCESS KEY ID IN S3 CONFIG FILE, NOT HARD-CODED FOR TEST ***}", secret_access_key: "** redacted **" }), chain: [] }
2023-11-26T22:27:22.473244214+08:00  INFO invoke{service=s3 operation=GetObject}:try_op:try_attempt:lazy_load_identity:provide_credentials{provider=default_chain}:load_credentials{provider=Profile}: aws_config::profile::credentials::exec: first credentials will be loaded from AccessKey(Credentials { provider_name: "ProfileFile", access_key_id: "{*** MY ACCESS KEY ID IN S3 CONFIG FILE, NOT HARD-CODED FOR TEST ***}", secret_access_key: "** redacted **" }) base=AccessKey(Credentials { provider_name: "ProfileFile", access_key_id: "{*** MY ACCESS KEY ID IN S3 CONFIG FILE, NOT HARD-CODED FOR TEST ***}", secret_access_key: "** redacted **" })
2023-11-26T22:27:22.473267407+08:00  INFO invoke{service=s3 operation=GetObject}:try_op:try_attempt:lazy_load_identity:provide_credentials{provider=default_chain}:load_credentials{provider=Profile}: aws_config::profile::credentials: loaded base credentials creds=Credentials { provider_name: "ProfileFile", access_key_id: "{*** MY ACCESS KEY ID IN S3 CONFIG FILE, NOT HARD-CODED FOR TEST ***}", secret_access_key: "** redacted **" }
2023-11-26T22:27:22.473281924+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt:lazy_load_identity:provide_credentials{provider=default_chain}: aws_config::meta::credentials::chain: loaded credentials provider=Profile
2023-11-26T22:27:22.473298925+08:00  INFO invoke{service=s3 operation=GetObject}:try_op:try_attempt:lazy_load_identity: aws_smithy_runtime::client::identity::cache::lazy: identity cache miss occurred; added new identity (took Ok(159.668µs))
2023-11-26T22:27:22.473313321+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::identity::cache::lazy: loaded identity
2023-11-26T22:27:22.473321537+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: resolved identity identity=Identity { data: Credentials { provider_name: "ProfileFile", access_key_id: "{*** MY ACCESS KEY ID IN S3 CONFIG FILE, NOT HARD-CODED FOR TEST ***}", secret_access_key: "** redacted **" }, expiration: None }
2023-11-26T22:27:22.473329973+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: signing request
2023-11-26T22:27:22.473690514+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `read_after_signing` interceptors
2023-11-26T22:27:22.473721491+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `modify_before_transmit` interceptors
2023-11-26T22:27:22.473767176+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `read_before_transmit` interceptors
2023-11-26T22:27:22.473787754+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime_api::client::interceptors::context: entering 'transmit' phase
2023-11-26T22:27:22.473796831+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator: transmitting request request=Request { body: SdkBody { inner: Once(Some(b"")), retryable: true }, uri: Uri { as_string: "http://127.0.0.1:9301/hummock001/hummock_001/cluster_id/0?x-id=GetObject", parsed: http://127.0.0.1:9301/hummock001/hummock_001/cluster_id/0?x-id=GetObject }, method: GET, extensions_02x: Extensions, headers: Headers { headers: {"user-agent": HeaderValue { _private: "aws-sdk-rust/1.0.0 os/linux lang/rust/1.75.0-nightly" }, "x-amz-user-agent": HeaderValue { _private: "aws-sdk-rust/1.0.0 api/s3/0.39.1 os/linux lang/rust/1.75.0-nightly" }, "x-amz-date": HeaderValue { _private: "20231126T142722Z" }, "authorization": HeaderValue { _private: "AWS4-HMAC-SHA256 Credential={*** MY ACCESS KEY ID IN S3 CONFIG FILE, NOT HARD-CODED FOR TEST ***}/20231126/custom/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-user-agent, Signature=c01fc5c71ec2d0fc0c70de80a363c50c797d1dba3428be195d142e3363ce793d" }, "x-amz-content-sha256": HeaderValue { _private: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, "amz-sdk-request": HeaderValue { _private: "attempt=1; max=3" }, "amz-sdk-invocation-id": HeaderValue { _private: "7c1ba7df-6550-49b4-9c93-b8b69969bf55" }} } }
2023-11-26T22:27:22.475364886+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator: received response from service response=Response { status: StatusCode(403), headers: Headers { headers: {"accept-ranges": HeaderValue { _private: "bytes" }, "content-length": HeaderValue { _private: "412" }, "content-type": HeaderValue { _private: "application/xml" }, "server": HeaderValue { _private: "MinIO" }, "strict-transport-security": HeaderValue { _private: "max-age=31536000; includeSubDomains" }, "vary": HeaderValue { _private: "Origin" }, "vary": HeaderValue { _private: "Accept-Encoding" }, "x-amz-id-2": HeaderValue { _private: "5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06" }, "x-amz-request-id": HeaderValue { _private: "179B3287A780ED0D" }, "x-content-type-options": HeaderValue { _private: "nosniff" }, "x-xss-protection": HeaderValue { _private: "1; mode=block" }, "date": HeaderValue { _private: "Sun, 26 Nov 2023 14:27:22 GMT" }} }, body: SdkBody { inner: BoxBody, retryable: false }, extensions: Extensions }
2023-11-26T22:27:22.47542625+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime_api::client::interceptors::context: entering 'before deserialization' phase
2023-11-26T22:27:22.475437541+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `read_after_transmit` interceptors
2023-11-26T22:27:22.47545882+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `modify_before_deserialization` interceptors
2023-11-26T22:27:22.475487394+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::stalled_stream_protection: adding stalled stream protection to response body
2023-11-26T22:27:22.475521547+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `read_before_deserialization` interceptors
2023-11-26T22:27:22.475543639+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime_api::client::interceptors::context: entering 'deserialization' phase
2023-11-26T22:27:22.475598089+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt:deserialization:deserialize_streaming: aws_sdk_s3::operation::get_object: extended_request_id=Some("5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06")
2023-11-26T22:27:22.475618097+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt:deserialization:deserialize_streaming: aws_sdk_s3::operation::get_object: request_id=Some("179B3287A780ED0D")
2023-11-26T22:27:22.475652951+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt:deserialization:read_body: aws_smithy_runtime::client::http::body::minimum_throughput::http_body_0_4_x: received data: 412
2023-11-26T22:27:22.475675774+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt:deserialization:read_body: aws_smithy_runtime::client::http::body::minimum_throughput::http_body_0_4_x: calculated throughput is None!
2023-11-26T22:27:22.475730516+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt:deserialization:deserialize_nonstreaming: aws_smithy_runtime::client::orchestrator::http: read HTTP response body response="** REDACTED **. To print, set LOG_SENSITIVE_BODIES=true"
2023-11-26T22:27:22.47580794+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator: output_or_error=Err(OrchestratorError { kind: Operation { err: Error(TypeErasedError:Unhandled(Unhandled { source: ErrorMetadata { code: Some("InvalidAccessKeyId"), message: Some("The Access Key Id you provided does not exist in our records."), extras: Some({"aws_request_id": "179B3287A780ED0D", "s3_extended_request_id": "5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06"}) }, meta: ErrorMetadata { code: Some("InvalidAccessKeyId"), message: Some("The Access Key Id you provided does not exist in our records."), extras: Some({"aws_request_id": "179B3287A780ED0D", "s3_extended_request_id": "5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06"}) } })) } })
2023-11-26T22:27:22.475840419+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime_api::client::interceptors::context: entering 'after deserialization' phase
2023-11-26T22:27:22.47585131+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:try_attempt: aws_smithy_runtime::client::interceptors: running `read_after_deserialization` interceptors
2023-11-26T22:27:22.475898628+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:finally_attempt: aws_smithy_runtime::client::interceptors: running `modify_before_attempt_completion` interceptors
2023-11-26T22:27:22.475917704+08:00 TRACE invoke{service=s3 operation=GetObject}:try_op:finally_attempt: aws_smithy_runtime::client::interceptors: running `read_after_attempt` interceptors
2023-11-26T22:27:22.475945275+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::retries::strategy::standard: encountered unretryable error attempts=1 max_attempts=3
2023-11-26T22:27:22.475956205+08:00 DEBUG invoke{service=s3 operation=GetObject}:try_op: aws_smithy_runtime::client::orchestrator: a retry is either unnecessary or not possible, exiting attempt loop
2023-11-26T22:27:22.475971935+08:00 TRACE invoke{service=s3 operation=GetObject}:finally_op: aws_smithy_runtime::client::interceptors: running `modify_before_completion` interceptors
2023-11-26T22:27:22.475988956+08:00 TRACE invoke{service=s3 operation=GetObject}:finally_op: aws_smithy_runtime::client::interceptors: running `read_after_execution` interceptors
thread 'risingwave-main' panicked at src/meta/node/src/server.rs:452:6:
called `Result::unwrap()` on an `Err` value: ObjectStore(s3 error: service error: unhandled error (InvalidAccessKeyId): Error { code: "InvalidAccessKeyId", message: "The Access Key Id you provided does not exist in our records.", aws_request_id: "179B3287A780ED0D", s3_extended_request_id: "5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06" } (ServiceError(ServiceError { source: Unhandled(Unhandled { source: ErrorMetadata { code: Some("InvalidAccessKeyId"), message: Some("The Access Key Id you provided does not exist in our records."), extras: Some({"aws_request_id": "179B3287A780ED0D", "s3_extended_request_id": "5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06"}) }, meta: ErrorMetadata { code: Some("InvalidAccessKeyId"), message: Some("The Access Key Id you provided does not exist in our records."), extras: Some({"aws_request_id": "179B3287A780ED0D", "s3_extended_request_id": "5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06"}) } }), raw: Response { status: StatusCode(403), headers: Headers { headers: {"accept-ranges": HeaderValue { _private: "bytes" }, "content-length": HeaderValue { _private: "412" }, "content-type": HeaderValue { _private: "application/xml" }, "server": HeaderValue { _private: "MinIO" }, "strict-transport-security": HeaderValue { _private: "max-age=31536000; includeSubDomains" }, "vary": HeaderValue { _private: "Origin" }, "vary": HeaderValue { _private: "Accept-Encoding" }, "x-amz-id-2": HeaderValue { _private: "5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06" }, "x-amz-request-id": HeaderValue { _private: "179B3287A780ED0D" }, "x-content-type-options": HeaderValue { _private: "nosniff" }, "x-xss-protection": HeaderValue { _private: "1; mode=block" }, "date": HeaderValue { _private: "Sun, 26 Nov 2023 14:27:22 GMT" }} }, body: SdkBody { inner: Once(Some(b"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>InvalidAccessKeyId</Code><Message>The Access Key Id you provided does not exist in our records.</Message><Key>hummock_001/cluster_id/0</Key><BucketName>hummock001</BucketName><Resource>/hummock001/hummock_001/cluster_id/0</Resource><RequestId>179B3287A780ED0D</RequestId><HostId>5e0466557790194f71acb9d44341f26b381bbf7ca42536c367b0a3b121df5c06</HostId></Error>")), retryable: true }, extensions: Extensions } }))
  backtrace of `ObjectError`:
   0: <risingwave_object_store::object::error::ObjectError as core::convert::From<risingwave_object_store::object::error::ObjectErrorInner>>::from
             at ./src/object_store/src/object/error.rs:48:10
   1: <T as core::convert::Into<U>>::into
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/convert/mod.rs:757:9
   2: <risingwave_object_store::object::error::ObjectError as core::convert::From<aws_smithy_runtime_api::client::result::SdkError<E,R>>>::from
             at ./src/object_store/src/object/error.rs:121:9
   3: <T as core::convert::Into<U>>::into
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/convert/mod.rs:757:9
   4: risingwave_object_store::object::s3::<impl core::convert::From<either::Either<aws_smithy_runtime_api::client::result::SdkError<aws_sdk_s3::operation::get_object::GetObjectError,aws_smithy_runtime_api::http::response::Response>,aws_smithy_types::byte_stream::error::Error>> for risingwave_object_store::object::error::ObjectError>::from
             at ./src/object_store/src/object/s3.rs:985:32
   5: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/result.rs:1963:27
   6: <risingwave_object_store::object::s3::S3ObjectStore as risingwave_object_store::object::ObjectStore>::read::{{closure}}
             at ./src/object_store/src/object/s3.rs:360:19
   7: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
   8: <await_tree::future::Instrumented<F,_> as core::future::future::Future>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/await-tree-0.1.1/src/future.rs:87:36
   9: risingwave_object_store::object::MonitoredObjectStore<OS>::read::{{closure}}::{{closure}}
             at ./src/object_store/src/object/mod.rs:624:18
  10: risingwave_object_store::object::MonitoredObjectStore<OS>::read::{{closure}}
             at ./src/object_store/src/object/mod.rs:627:28
  11: risingwave_object_store::object::ObjectStoreImpl::read::{{closure}}
             at ./src/object_store/src/object/mod.rs:200:9
  12: risingwave_meta::hummock::manager::write_exclusive_cluster_id::{{closure}}
             at ./src/meta/src/hummock/manager/mod.rs:2998:56
  13: risingwave_meta::hummock::manager::HummockManager::new_impl::{{closure}}
             at ./src/meta/src/hummock/manager/mod.rs:377:14
  14: risingwave_meta::hummock::manager::HummockManager::new::{{closure}}
             at ./src/meta/src/hummock/manager/mod.rs:306:10
  15: risingwave_meta_node::server::start_service_as_election_leader::{{closure}}
             at ./src/meta/node/src/server.rs:451:6
  16: risingwave_meta_node::server::rpc_serve_with_store::{{closure}}
             at ./src/meta/node/src/server.rs:306:10
  17: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  18: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/instrument.rs:272:9
  19: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:334:17
  20: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/loom/std/unsafe_cell.rs:16:9
  21: tokio::runtime::task::core::Core<T,S>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:323:13
  22: tokio::runtime::task::harness::poll_future::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:485:19
  23: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panic/unwind_safe.rs:271:9
  24: std::panicking::try::do_call
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:504:40
  25: __rust_try
  26: std::panicking::try
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:468:19
  27: std::panic::catch_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panic.rs:142:14
  28: tokio::runtime::task::harness::poll_future
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:473:18
  29: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:208:27
  30: tokio::runtime::task::harness::Harness<T,S>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:153:15
  31: tokio::runtime::task::raw::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/raw.rs:276:5
  32: tokio::runtime::task::raw::RawTask::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/raw.rs:200:18
  33: tokio::runtime::task::LocalNotified<S>::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/mod.rs:400:9
  34: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:639:17
  35: tokio::runtime::coop::with_budget
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/coop.rs:107:5
  36: tokio::runtime::coop::budget
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/coop.rs:73:5
  37: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:575:9
  38: tokio::runtime::scheduler::multi_thread::worker::Context::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:526:24
  39: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:491:21
  40: tokio::runtime::context::scoped::Scoped<T>::set
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/context/scoped.rs:40:9
  41: tokio::runtime::context::set_scheduler::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/context.rs:176:26
  42: std::thread::local::LocalKey<T>::try_with
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/thread/local.rs:270:16
  43: std::thread::local::LocalKey<T>::with
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/thread/local.rs:246:9
  44: tokio::runtime::context::set_scheduler
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/context.rs:176:9
  45: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:486:9
  46: tokio::runtime::context::runtime::enter_runtime
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/context/runtime.rs:65:16
  47: tokio::runtime::scheduler::multi_thread::worker::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:478:5
  48: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:447:45
  49: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/blocking/task.rs:42:21
  50: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/instrument.rs:272:9
  51: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:334:17
  52: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/loom/std/unsafe_cell.rs:16:9
  53: tokio::runtime::task::core::Core<T,S>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:323:13
  54: tokio::runtime::task::harness::poll_future::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:485:19
  55: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panic/unwind_safe.rs:271:9
  56: std::panicking::try::do_call
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:504:40
  57: __rust_try
  58: std::panicking::try
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:468:19
  59: std::panic::catch_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panic.rs:142:14
  60: tokio::runtime::task::harness::poll_future
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:473:18
  61: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:208:27
  62: tokio::runtime::task::harness::Harness<T,S>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:153:15
  63: tokio::runtime::task::raw::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/raw.rs:276:5
  64: tokio::runtime::task::raw::RawTask::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/raw.rs:200:18
  65: tokio::runtime::task::UnownedTask<S>::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/mod.rs:437:9
  66: tokio::runtime::blocking::pool::Task::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/blocking/pool.rs:159:9
  67: tokio::runtime::blocking::pool::Inner::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/blocking/pool.rs:513:17
  68: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/blocking/pool.rs:471:13
  69: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/sys_common/backtrace.rs:154:18
  70: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/thread/mod.rs:529:17
  71: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panic/unwind_safe.rs:271:9
  72: std::panicking::try::do_call
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:504:40
  73: __rust_try
  74: std::panicking::try
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:468:19
  75: std::panic::catch_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panic.rs:142:14
  76: std::thread::Builder::spawn_unchecked_::{{closure}}
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/thread/mod.rs:528:30
  77: core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/ops/function.rs:250:5
  78: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/boxed.rs:2007:9
  79: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/boxed.rs:2007:9
  80: std::sys::unix::thread::Thread::new::thread_start
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/sys/unix/thread.rs:108:17
  81: start_thread
             at ./nptl/pthread_create.c:442:8
  82: clone3
             at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
)
stack backtrace:
   0: rust_begin_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:597:5
   1: core::panicking::panic_fmt
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/result.rs:1653:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/result.rs:1077:23
   4: risingwave_meta_node::server::start_service_as_election_leader::{{closure}}
             at ./src/meta/node/src/server.rs:442:27
   5: risingwave_meta_node::server::rpc_serve_with_store::{{closure}}
             at ./src/meta/node/src/server.rs:306:10
   6: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
   7: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/instrument.rs:272:9
   8: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:334:17
   9: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/loom/std/unsafe_cell.rs:16:9
  10: tokio::runtime::task::core::Core<T,S>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:323:13
  11: tokio::runtime::task::harness::poll_future::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:485:19
  12: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panic/unwind_safe.rs:271:9
  13: std::panicking::try::do_call
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:504:40
  14: __rust_try
  15: std::panicking::try
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:468:19
  16: std::panic::catch_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panic.rs:142:14
  17: tokio::runtime::task::harness::poll_future
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:473:18
  18: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:208:27
  19: tokio::runtime::task::harness::Harness<T,S>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:153:15
  20: tokio::runtime::task::raw::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/raw.rs:276:5
  21: tokio::runtime::task::raw::RawTask::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/raw.rs:200:18
  22: tokio::runtime::task::LocalNotified<S>::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/mod.rs:400:9
  23: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:639:17
  24: tokio::runtime::coop::with_budget
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/coop.rs:107:5
  25: tokio::runtime::coop::budget
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/coop.rs:73:5
  26: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:575:9
  27: tokio::runtime::scheduler::multi_thread::worker::Context::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:526:24
  28: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:491:21
  29: tokio::runtime::context::scoped::Scoped<T>::set
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/context/scoped.rs:40:9
  30: tokio::runtime::context::set_scheduler::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/context.rs:176:26
  31: std::thread::local::LocalKey<T>::try_with
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/thread/local.rs:270:16
  32: std::thread::local::LocalKey<T>::with
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/thread/local.rs:246:9
  33: tokio::runtime::context::set_scheduler
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/context.rs:176:9
  34: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:486:9
  35: tokio::runtime::context::runtime::enter_runtime
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/context/runtime.rs:65:16
  36: tokio::runtime::scheduler::multi_thread::worker::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:478:5
  37: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/scheduler/multi_thread/worker.rs:447:45
  38: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/blocking/task.rs:42:21
  39: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/instrument.rs:272:9
  40: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:334:17
  41: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/loom/std/unsafe_cell.rs:16:9
  42: tokio::runtime::task::core::Core<T,S>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:323:13
  43: tokio::runtime::task::harness::poll_future::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:485:19
  44: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panic/unwind_safe.rs:271:9
  45: std::panicking::try::do_call
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:504:40
  46: __rust_try
  47: std::panicking::try
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:468:19
  48: std::panic::catch_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panic.rs:142:14
  49: tokio::runtime::task::harness::poll_future
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:473:18
  50: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:208:27
  51: tokio::runtime::task::harness::Harness<T,S>::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:153:15
  52: tokio::runtime::task::raw::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/raw.rs:276:5
  53: tokio::runtime::task::raw::RawTask::poll
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/raw.rs:200:18
  54: tokio::runtime::task::UnownedTask<S>::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/mod.rs:437:9
  55: tokio::runtime::blocking::pool::Task::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/blocking/pool.rs:159:9
  56: tokio::runtime::blocking::pool::Inner::run
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/blocking/pool.rs:513:17
  57: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
             at /home/mrcroxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/blocking/pool.rs:471:13
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Sun Nov 26 02:27:22 PM UTC 2023 [risedev]: Program exited with 134

@rcoh @ysaito1001 Hi, thanks for helping. Here is my log.

You can see that from the trace log, the shared credentials provider uses the hard-coded static access key id "hummockadmin", but when the client accessing S3, it uses the credentials loaded from my config file (I've hidden it with {*** MY ACCESS KEY ID IN S3 CONFIG FILE, NOT HARD-CODED FOR TEST ***}).

MrCroxx commented 11 months ago

FYI: The behavior with 0.35:

2023-11-27T12:17:54.659154223+08:00 TRACE invoke{service=s3 operation=GetBucketLifecycleConfiguration}:try_op:try_attempt: aws_smithy_runtime::client::orchestrator::auth: resolved auth scheme, identity cache, identity resolver, and signing implementation auth_scheme=SharedAuthScheme(SigV4AuthScheme { signer: SigV4Signer }) identity_cache=SharedIdentityCache(LazyCache { partitions: CachePartitions { partitions: RwLock { data: {IdentityCachePartition(8): ExpiringCache { buffer_time: 10s, value: RwLock { data: OnceCell { value: Some((Identity { data: Credentials { provider_name: "Static", access_key_id: "hummockadmin", secret_access_key: "** redacted **" }, expiration: None }, SystemTime { tv_sec: 1701059578, tv_nsec: 498830505 })) } }, _phantom: PhantomData<alloc::boxed::Box<dyn core::error::Error + core::marker::Send + core::marker::Sync>> }}, poisoned: false, .. }, buffer_time: 10s }, load_timeout: 5s, buffer_time: 10s, buffer_time_jitter_fraction: 0x55978a03e400, default_expiration: 900s }) identity_resolver=SharedIdentityResolver { inner: SharedCredentialsProvider(Credentials { provider_name: "Static", access_key_id: "hummockadmin", secret_access_key: "** redacted **" }), cache_partition: IdentityCachePartition(8) } signer=SigV4Signer
MrCroxx commented 11 months ago

Quick question: How resolver know which identity to use if there are identities from env and hard-coded?

Code in 0.35 use store_or_unset, but with and above 0.36 uses push_identity_resolver.

MrCroxx commented 11 months ago

Okay, I finally made my code work again.

In short, the not-behaving code looks like the following:

        aws_sdk_s3::config::Builder::from(
            &aws_config::ConfigLoader::default()
                .load()
                .await,
        )
        .credentials_provider(Credentials::from_keys(
            access_key_id,
            secret_access_key,
            None,
        ))
        .build();

The builder is loaded from the default config loader, then its credentials provider is modified. (Internally, it pushes an identity resolver to its runtime components, not overrides it.)

I modified the code like this and it works:

        aws_sdk_s3::config::Builder::from(
            &aws_config::ConfigLoader::default()
                .credentials_provider(Credentials::from_keys(
                    access_key_id,
                    secret_access_key,
                    None,
                ))
                .load()
                .await,
        )
        .build();

The credentials provider is set before the default config is loaded, if the field is set before loading, the property will not be loaded again. So there is only one credentials provider in the runtime components and will be used when accessing s3.

MrCroxx commented 11 months ago

But still, is the behavior as expected? At least, the comments on Builder::credentials_provider tell Sets the credentials provider for this service., not chaining a new one. cc @rcoh @ysaito1001

ysaito1001 commented 11 months ago

Thanks for sharing with us the working version! In general, we recommend configuring things through ConfigLoader as much as possible, but the fact that when you single-sourced a credentials provider through ConfigLoader::default().credentials_provider it worked and that when you separately passed the credentials provider to Builder::credentials_provider it didn't work sounds like a footgun to me. We'll look into this behavior.

jdisanti commented 11 months ago

Ticket auto-closed in error. The fix hasn't been released yet.

jdisanti commented 11 months ago

This fix for this went out in the December 5, 2023 release.

github-actions[bot] commented 11 months ago

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see. If you need more assistance, please either tag a team member or open a new issue that references this one. If you wish to keep having a conversation with other community members under this issue feel free to do so.