AWS SDK

AWS SDK

rev. 28ab1b1385c26c3fdfe1410a4feb2cbca7606071

Files changed:

tmp-codegen-diff/aws-sdk/README.md

@@ -1,1 +37,37 @@
    1      1   
<!--
    2      2   
IMPORTANT:
    3      3   
This README file is auto-generated by the build system in smithy-lang/smithy-rs.
    4      4   
To update it, edit the `aws/SDK_README.md.hb` Handlebars template in that repository.
    5      5   
-->
    6      6   
    7         -
# The AWS SDK for Rust [![Docs](https://img.shields.io/badge/docs-blue)](https://awslabs.github.io/aws-sdk-rust/) ![MSRV](https://img.shields.io/badge/msrv-1.82.0-red) [![Usage Guide](https://img.shields.io/badge/Developer_Guide-blue)](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html)
           7  +
# The AWS SDK for Rust [![Docs](https://img.shields.io/badge/docs-blue)](https://awslabs.github.io/aws-sdk-rust/) ![MSRV](https://img.shields.io/badge/msrv-1.85.0-red) [![Usage Guide](https://img.shields.io/badge/Developer_Guide-blue)](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html)
    8      8   
    9      9   
This repo contains the AWS SDK for Rust and its [public roadmap](https://github.com/orgs/awslabs/projects/50/views/1).
   10     10   
   11     11   
The SDK is code generated from [Smithy models](https://smithy.io/2.0/index.html) that represent each AWS service.
   12     12   
The code used to generate the SDK can be found in [smithy-rs](https://github.com/smithy-lang/smithy-rs).
   13     13   
   14     14   
## Getting Started with the SDK
   15     15   
   16     16   
> Examples are available for many services and operations, check out the [examples folder](./examples).
   17     17   
@@ -57,57 +105,105 @@
   77     77   
You can provide feedback or report a bug  by submitting a **GitHub issue**.
   78     78   
This is the preferred mechanism to give feedback so that other users can engage in the conversation, +1 issues, etc.
   79     79   
Issues you open will be evaluated for our roadmap.
   80     80   
   81     81   
### Contributing
   82     82   
   83     83   
If you are interested in contributing to the SDK, please take a look at [CONTRIBUTING](CONTRIBUTING.md)
   84     84   
   85     85   
## Supported Rust Versions (MSRV)
   86     86   
   87         -
The SDK currently requires a minimum of Rust 1.82.0, and is not guaranteed to build on compiler versions
          87  +
The SDK currently requires a minimum of Rust 1.85.0, and is not guaranteed to build on compiler versions
   88     88   
earlier than that. We keep the minimum compiler version two releases behind the latest stable release where
   89     89   
possible (so if the latest stable were 1.55, we would support 1.53). Increases in minimum required Rust
   90     90   
version will be called out in the Release Notes for new releases of the SDK.
   91     91   
   92     92   
## Additional Resources
   93     93   
   94     94   
- Design docs - Design documentation for the SDK lives in the [design folder of smithy-rs](https://github.com/smithy-lang/smithy-rs/tree/main/design).
   95     95   
- Runtime / Handwritten code: The Rust Runtime code that underpins the SDK can be accessed [here](https://github.com/smithy-lang/smithy-rs/tree/main/rust-runtime) and [here](https://github.com/smithy-lang/smithy-rs/tree/main/aws/rust-runtime). This code is copied into this repo as part of code generation.
   96     96   
- [Code Examples](./examples)
   97     97   
- [API reference documentation (rustdoc)](https://awslabs.github.io/aws-sdk-rust/)

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml

@@ -1,1 +40,40 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-bedrockruntime"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon Bedrock Runtime"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/config.rs

@@ -235,235 +329,330 @@
  255    255   
    /// let config = builder.build();
  256    256   
    /// # }
  257    257   
    /// # }
  258    258   
    /// ```
  259    259   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  260    260   
        self.runtime_components.set_http_client(http_client);
  261    261   
        self
  262    262   
    }
  263    263   
    /// Sets the endpoint resolver to use when making requests.
  264    264   
    ///
  265         -
         265  +
    ///
  266    266   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  267    267   
    /// rules for `aws_sdk_bedrockruntime`.
  268         -
         268  +
    ///
  269    269   
    ///
  270    270   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  271    271   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  272    272   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  273    273   
    ///
  274    274   
    /// # Examples
  275    275   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  276    276   
    /// ```no_run
  277    277   
    /// use aws_sdk_bedrockruntime::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  278    278   
    /// #[derive(Debug)]
  279    279   
    /// struct StageResolver { stage: String }
  280    280   
    /// impl ResolveEndpoint for StageResolver {
  281    281   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  282    282   
    ///         let stage = &self.stage;
  283    283   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  284    284   
    ///     }
  285    285   
    /// }
  286    286   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  287    287   
    /// let config = aws_sdk_bedrockruntime::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_bedrockruntime::Client::from_conf(config);
  289    289   
    /// ```
  290    290   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  291    291   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  292    292   
        self
  293    293   
    }
  294    294   
  295    295   
    /// Sets the endpoint resolver to use when making requests.
  296    296   
    ///
  297         -
         297  +
    ///
  298    298   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  299    299   
    /// rules for `aws_sdk_bedrockruntime`.
         300  +
    ///
  300    301   
    pub fn set_endpoint_resolver(
  301    302   
        &mut self,
  302    303   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  303    304   
    ) -> &mut Self {
  304    305   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  305    306   
        self
  306    307   
    }
  307    308   
    /// Set the retry_config for the builder
  308    309   
    ///
  309    310   
    /// # Examples
@@ -475,476 +581,582 @@
  495    496   
    ///     .identity_cache(
  496    497   
    ///         IdentityCache::lazy()
  497    498   
    ///             // change the load timeout to 10 seconds
  498    499   
    ///             .load_timeout(Duration::from_secs(10))
  499    500   
    ///             .build()
  500    501   
    ///     )
  501    502   
    ///     // ...
  502    503   
    ///     .build();
  503    504   
    /// let client = aws_sdk_bedrockruntime::Client::from_conf(config);
  504    505   
    /// ```
  505         -
         506  +
    ///
  506    507   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  507    508   
        self.set_identity_cache(identity_cache);
  508    509   
        self
  509    510   
    }
  510    511   
  511    512   
    /// Set the identity cache for auth.
  512    513   
    ///
  513    514   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  514    515   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  515    516   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  516    517   
    /// the next request will result in refreshing the identity.
  517    518   
    ///
  518    519   
    /// This configuration allows you to disable or change the default caching mechanism.
  519    520   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  520    521   
    /// trait and pass that implementation into this function.
  521    522   
    ///
  522    523   
    /// # Examples
  523    524   
    ///
  524    525   
    /// Disabling identity caching:
  525    526   
    /// ```no_run
  526    527   
    /// use aws_sdk_bedrockruntime::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_bedrockruntime::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_bedrockruntime::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_bedrockruntime::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_bedrockruntime::Config::builder()
  541    542   
    ///     .identity_cache(
  542    543   
    ///         IdentityCache::lazy()
  543    544   
    ///             // change the load timeout to 10 seconds
  544    545   
    ///             .load_timeout(Duration::from_secs(10))
  545    546   
    ///             .build()
  546    547   
    ///     )
  547    548   
    ///     // ...
  548    549   
    ///     .build();
  549    550   
    /// let client = aws_sdk_bedrockruntime::Client::from_conf(config);
  550    551   
    /// ```
  551         -
         552  +
    ///
  552    553   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  553    554   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  554    555   
        self
  555    556   
    }
  556    557   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  557    558   
    ///
  558    559   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  559    560   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  560    561   
    /// will run after those default interceptors.
  561    562   
    ///
@@ -975,976 +1070,1071 @@
  995    996   
    /// Customizing behavior major version:
  996    997   
    /// ```no_run
  997    998   
    /// use aws_sdk_bedrockruntime::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_bedrockruntime::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_bedrockruntime::Client::from_conf(config);
 1004   1005   
    /// ```
 1005         -
        1006  +
    ///
 1006   1007   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1007   1008   
        self.set_behavior_version(Some(behavior_version));
 1008   1009   
        self
 1009   1010   
    }
 1010   1011   
 1011   1012   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1012   1013   
    ///
 1013   1014   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1014   1015   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1015   1016   
    /// all operations might be the ideal behavior but could break existing applications.
 1016   1017   
    ///
 1017   1018   
    /// # Examples
 1018   1019   
    ///
 1019   1020   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1020   1021   
    /// ```no_run
 1021   1022   
    /// use aws_sdk_bedrockruntime::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_bedrockruntime::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_bedrockruntime::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_bedrockruntime::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_bedrockruntime::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_bedrockruntime::Client::from_conf(config);
 1039   1040   
    /// ```
 1040         -
        1041  +
    ///
 1041   1042   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1042   1043   
        self.behavior_version = behavior_version;
 1043   1044   
        self
 1044   1045   
    }
 1045   1046   
 1046   1047   
    /// Convenience method to set the latest behavior major version
 1047   1048   
    ///
 1048   1049   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1049   1050   
    pub fn behavior_version_latest(mut self) -> Self {
 1050   1051   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1131,1132 +1191,1192 @@
 1151   1152   
    }
 1152   1153   
 1153   1154   
    fn runtime_components(
 1154   1155   
        &self,
 1155   1156   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1156   1157   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1157   1158   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1158   1159   
    }
 1159   1160   
}
 1160   1161   
 1161         -
/// Cross-operation shared-state singletons
        1162  +
// Cross-operation shared-state singletons
 1162   1163   
 1163   1164   
/// A plugin that enables configuration for a single operation invocation
 1164   1165   
///
 1165   1166   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1166   1167   
/// In the case of default values requested, they will be obtained from `client_config`.
 1167   1168   
#[derive(Debug)]
 1168   1169   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1169   1170   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1170   1171   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1171   1172   
}

tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml

@@ -1,1 +40,40 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-cloudwatchlogs"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon CloudWatch Logs"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   

tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/src/config.rs

@@ -251,251 +345,346 @@
  271    271   
    /// let config = builder.build();
  272    272   
    /// # }
  273    273   
    /// # }
  274    274   
    /// ```
  275    275   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  276    276   
        self.runtime_components.set_http_client(http_client);
  277    277   
        self
  278    278   
    }
  279    279   
    /// Sets the endpoint resolver to use when making requests.
  280    280   
    ///
  281         -
         281  +
    ///
  282    282   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  283    283   
    /// rules for `aws_sdk_cloudwatchlogs`.
  284         -
         284  +
    ///
  285    285   
    ///
  286    286   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  287    287   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  288    288   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  289    289   
    ///
  290    290   
    /// # Examples
  291    291   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  292    292   
    /// ```no_run
  293    293   
    /// use aws_sdk_cloudwatchlogs::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  294    294   
    /// #[derive(Debug)]
  295    295   
    /// struct StageResolver { stage: String }
  296    296   
    /// impl ResolveEndpoint for StageResolver {
  297    297   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  298    298   
    ///         let stage = &self.stage;
  299    299   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  300    300   
    ///     }
  301    301   
    /// }
  302    302   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  303    303   
    /// let config = aws_sdk_cloudwatchlogs::Config::builder().endpoint_resolver(resolver).build();
  304    304   
    /// let client = aws_sdk_cloudwatchlogs::Client::from_conf(config);
  305    305   
    /// ```
  306    306   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  307    307   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  308    308   
        self
  309    309   
    }
  310    310   
  311    311   
    /// Sets the endpoint resolver to use when making requests.
  312    312   
    ///
  313         -
         313  +
    ///
  314    314   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  315    315   
    /// rules for `aws_sdk_cloudwatchlogs`.
         316  +
    ///
  316    317   
    pub fn set_endpoint_resolver(
  317    318   
        &mut self,
  318    319   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  319    320   
    ) -> &mut Self {
  320    321   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  321    322   
        self
  322    323   
    }
  323    324   
    /// Set the retry_config for the builder
  324    325   
    ///
  325    326   
    /// # Examples
@@ -491,492 +597,598 @@
  511    512   
    ///     .identity_cache(
  512    513   
    ///         IdentityCache::lazy()
  513    514   
    ///             // change the load timeout to 10 seconds
  514    515   
    ///             .load_timeout(Duration::from_secs(10))
  515    516   
    ///             .build()
  516    517   
    ///     )
  517    518   
    ///     // ...
  518    519   
    ///     .build();
  519    520   
    /// let client = aws_sdk_cloudwatchlogs::Client::from_conf(config);
  520    521   
    /// ```
  521         -
         522  +
    ///
  522    523   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  523    524   
        self.set_identity_cache(identity_cache);
  524    525   
        self
  525    526   
    }
  526    527   
  527    528   
    /// Set the identity cache for auth.
  528    529   
    ///
  529    530   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  530    531   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  531    532   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  532    533   
    /// the next request will result in refreshing the identity.
  533    534   
    ///
  534    535   
    /// This configuration allows you to disable or change the default caching mechanism.
  535    536   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  536    537   
    /// trait and pass that implementation into this function.
  537    538   
    ///
  538    539   
    /// # Examples
  539    540   
    ///
  540    541   
    /// Disabling identity caching:
  541    542   
    /// ```no_run
  542    543   
    /// use aws_sdk_cloudwatchlogs::config::IdentityCache;
  543    544   
    ///
  544    545   
    /// let config = aws_sdk_cloudwatchlogs::Config::builder()
  545    546   
    ///     .identity_cache(IdentityCache::no_cache())
  546    547   
    ///     // ...
  547    548   
    ///     .build();
  548    549   
    /// let client = aws_sdk_cloudwatchlogs::Client::from_conf(config);
  549    550   
    /// ```
  550    551   
    ///
  551    552   
    /// Customizing lazy caching:
  552    553   
    /// ```no_run
  553    554   
    /// use aws_sdk_cloudwatchlogs::config::IdentityCache;
  554    555   
    /// use std::time::Duration;
  555    556   
    ///
  556    557   
    /// let config = aws_sdk_cloudwatchlogs::Config::builder()
  557    558   
    ///     .identity_cache(
  558    559   
    ///         IdentityCache::lazy()
  559    560   
    ///             // change the load timeout to 10 seconds
  560    561   
    ///             .load_timeout(Duration::from_secs(10))
  561    562   
    ///             .build()
  562    563   
    ///     )
  563    564   
    ///     // ...
  564    565   
    ///     .build();
  565    566   
    /// let client = aws_sdk_cloudwatchlogs::Client::from_conf(config);
  566    567   
    /// ```
  567         -
         568  +
    ///
  568    569   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  569    570   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  570    571   
        self
  571    572   
    }
  572    573   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  573    574   
    ///
  574    575   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  575    576   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  576    577   
    /// will run after those default interceptors.
  577    578   
    ///
@@ -991,992 +1086,1087 @@
 1011   1012   
    /// Customizing behavior major version:
 1012   1013   
    /// ```no_run
 1013   1014   
    /// use aws_sdk_cloudwatchlogs::config::BehaviorVersion;
 1014   1015   
    ///
 1015   1016   
    /// let config = aws_sdk_cloudwatchlogs::Config::builder()
 1016   1017   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1017   1018   
    ///     // ...
 1018   1019   
    ///     .build();
 1019   1020   
    /// let client = aws_sdk_cloudwatchlogs::Client::from_conf(config);
 1020   1021   
    /// ```
 1021         -
        1022  +
    ///
 1022   1023   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1023   1024   
        self.set_behavior_version(Some(behavior_version));
 1024   1025   
        self
 1025   1026   
    }
 1026   1027   
 1027   1028   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1028   1029   
    ///
 1029   1030   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1030   1031   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1031   1032   
    /// all operations might be the ideal behavior but could break existing applications.
 1032   1033   
    ///
 1033   1034   
    /// # Examples
 1034   1035   
    ///
 1035   1036   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1036   1037   
    /// ```no_run
 1037   1038   
    /// use aws_sdk_cloudwatchlogs::config::BehaviorVersion;
 1038   1039   
    ///
 1039   1040   
    /// let config = aws_sdk_cloudwatchlogs::Config::builder()
 1040   1041   
    ///     .behavior_version(BehaviorVersion::latest())
 1041   1042   
    ///     // ...
 1042   1043   
    ///     .build();
 1043   1044   
    /// let client = aws_sdk_cloudwatchlogs::Client::from_conf(config);
 1044   1045   
    /// ```
 1045   1046   
    ///
 1046   1047   
    /// Customizing behavior major version:
 1047   1048   
    /// ```no_run
 1048   1049   
    /// use aws_sdk_cloudwatchlogs::config::BehaviorVersion;
 1049   1050   
    ///
 1050   1051   
    /// let config = aws_sdk_cloudwatchlogs::Config::builder()
 1051   1052   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1052   1053   
    ///     // ...
 1053   1054   
    ///     .build();
 1054   1055   
    /// let client = aws_sdk_cloudwatchlogs::Client::from_conf(config);
 1055   1056   
    /// ```
 1056         -
        1057  +
    ///
 1057   1058   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1058   1059   
        self.behavior_version = behavior_version;
 1059   1060   
        self
 1060   1061   
    }
 1061   1062   
 1062   1063   
    /// Convenience method to set the latest behavior major version
 1063   1064   
    ///
 1064   1065   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1065   1066   
    pub fn behavior_version_latest(mut self) -> Self {
 1066   1067   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1149,1150 +1209,1210 @@
 1169   1170   
    }
 1170   1171   
 1171   1172   
    fn runtime_components(
 1172   1173   
        &self,
 1173   1174   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1174   1175   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1175   1176   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1176   1177   
    }
 1177   1178   
}
 1178   1179   
 1179         -
/// Cross-operation shared-state singletons
        1180  +
// Cross-operation shared-state singletons
 1180   1181   
 1181   1182   
/// A plugin that enables configuration for a single operation invocation
 1182   1183   
///
 1183   1184   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1184   1185   
/// In the case of default values requested, they will be obtained from `client_config`.
 1185   1186   
#[derive(Debug)]
 1186   1187   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1187   1188   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1188   1189   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1189   1190   
}

tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml

@@ -1,1 +40,40 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-codecatalyst"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon CodeCatalyst"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   

tmp-codegen-diff/aws-sdk/sdk/codecatalyst/src/config.rs

@@ -251,251 +345,346 @@
  271    271   
        self.runtime_components.set_identity_resolver(
  272    272   
            ::aws_smithy_runtime_api::client::auth::http::HTTP_BEARER_AUTH_SCHEME_ID,
  273    273   
            ::aws_smithy_runtime_api::shared::IntoShared::<::aws_smithy_runtime_api::client::identity::SharedIdentityResolver>::into_shared(
  274    274   
                bearer_token_resolver,
  275    275   
            ),
  276    276   
        );
  277    277   
        self
  278    278   
    }
  279    279   
    /// Sets the endpoint resolver to use when making requests.
  280    280   
    ///
  281         -
         281  +
    ///
  282    282   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  283    283   
    /// rules for `aws_sdk_codecatalyst`.
  284         -
         284  +
    ///
  285    285   
    ///
  286    286   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  287    287   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  288    288   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  289    289   
    ///
  290    290   
    /// # Examples
  291    291   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  292    292   
    /// ```no_run
  293    293   
    /// use aws_sdk_codecatalyst::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  294    294   
    /// #[derive(Debug)]
  295    295   
    /// struct StageResolver { stage: String }
  296    296   
    /// impl ResolveEndpoint for StageResolver {
  297    297   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  298    298   
    ///         let stage = &self.stage;
  299    299   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  300    300   
    ///     }
  301    301   
    /// }
  302    302   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  303    303   
    /// let config = aws_sdk_codecatalyst::Config::builder().endpoint_resolver(resolver).build();
  304    304   
    /// let client = aws_sdk_codecatalyst::Client::from_conf(config);
  305    305   
    /// ```
  306    306   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  307    307   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  308    308   
        self
  309    309   
    }
  310    310   
  311    311   
    /// Sets the endpoint resolver to use when making requests.
  312    312   
    ///
  313         -
         313  +
    ///
  314    314   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  315    315   
    /// rules for `aws_sdk_codecatalyst`.
         316  +
    ///
  316    317   
    pub fn set_endpoint_resolver(
  317    318   
        &mut self,
  318    319   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  319    320   
    ) -> &mut Self {
  320    321   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  321    322   
        self
  322    323   
    }
  323    324   
    /// Set the retry_config for the builder
  324    325   
    ///
  325    326   
    /// # Examples
@@ -491,492 +597,598 @@
  511    512   
    ///     .identity_cache(
  512    513   
    ///         IdentityCache::lazy()
  513    514   
    ///             // change the load timeout to 10 seconds
  514    515   
    ///             .load_timeout(Duration::from_secs(10))
  515    516   
    ///             .build()
  516    517   
    ///     )
  517    518   
    ///     // ...
  518    519   
    ///     .build();
  519    520   
    /// let client = aws_sdk_codecatalyst::Client::from_conf(config);
  520    521   
    /// ```
  521         -
         522  +
    ///
  522    523   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  523    524   
        self.set_identity_cache(identity_cache);
  524    525   
        self
  525    526   
    }
  526    527   
  527    528   
    /// Set the identity cache for auth.
  528    529   
    ///
  529    530   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  530    531   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  531    532   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  532    533   
    /// the next request will result in refreshing the identity.
  533    534   
    ///
  534    535   
    /// This configuration allows you to disable or change the default caching mechanism.
  535    536   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  536    537   
    /// trait and pass that implementation into this function.
  537    538   
    ///
  538    539   
    /// # Examples
  539    540   
    ///
  540    541   
    /// Disabling identity caching:
  541    542   
    /// ```no_run
  542    543   
    /// use aws_sdk_codecatalyst::config::IdentityCache;
  543    544   
    ///
  544    545   
    /// let config = aws_sdk_codecatalyst::Config::builder()
  545    546   
    ///     .identity_cache(IdentityCache::no_cache())
  546    547   
    ///     // ...
  547    548   
    ///     .build();
  548    549   
    /// let client = aws_sdk_codecatalyst::Client::from_conf(config);
  549    550   
    /// ```
  550    551   
    ///
  551    552   
    /// Customizing lazy caching:
  552    553   
    /// ```no_run
  553    554   
    /// use aws_sdk_codecatalyst::config::IdentityCache;
  554    555   
    /// use std::time::Duration;
  555    556   
    ///
  556    557   
    /// let config = aws_sdk_codecatalyst::Config::builder()
  557    558   
    ///     .identity_cache(
  558    559   
    ///         IdentityCache::lazy()
  559    560   
    ///             // change the load timeout to 10 seconds
  560    561   
    ///             .load_timeout(Duration::from_secs(10))
  561    562   
    ///             .build()
  562    563   
    ///     )
  563    564   
    ///     // ...
  564    565   
    ///     .build();
  565    566   
    /// let client = aws_sdk_codecatalyst::Client::from_conf(config);
  566    567   
    /// ```
  567         -
         568  +
    ///
  568    569   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  569    570   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  570    571   
        self
  571    572   
    }
  572    573   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  573    574   
    ///
  574    575   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  575    576   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  576    577   
    /// will run after those default interceptors.
  577    578   
    ///
@@ -996,997 +1091,1092 @@
 1016   1017   
    /// Customizing behavior major version:
 1017   1018   
    /// ```no_run
 1018   1019   
    /// use aws_sdk_codecatalyst::config::BehaviorVersion;
 1019   1020   
    ///
 1020   1021   
    /// let config = aws_sdk_codecatalyst::Config::builder()
 1021   1022   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1022   1023   
    ///     // ...
 1023   1024   
    ///     .build();
 1024   1025   
    /// let client = aws_sdk_codecatalyst::Client::from_conf(config);
 1025   1026   
    /// ```
 1026         -
        1027  +
    ///
 1027   1028   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1028   1029   
        self.set_behavior_version(Some(behavior_version));
 1029   1030   
        self
 1030   1031   
    }
 1031   1032   
 1032   1033   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1033   1034   
    ///
 1034   1035   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1035   1036   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1036   1037   
    /// all operations might be the ideal behavior but could break existing applications.
 1037   1038   
    ///
 1038   1039   
    /// # Examples
 1039   1040   
    ///
 1040   1041   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1041   1042   
    /// ```no_run
 1042   1043   
    /// use aws_sdk_codecatalyst::config::BehaviorVersion;
 1043   1044   
    ///
 1044   1045   
    /// let config = aws_sdk_codecatalyst::Config::builder()
 1045   1046   
    ///     .behavior_version(BehaviorVersion::latest())
 1046   1047   
    ///     // ...
 1047   1048   
    ///     .build();
 1048   1049   
    /// let client = aws_sdk_codecatalyst::Client::from_conf(config);
 1049   1050   
    /// ```
 1050   1051   
    ///
 1051   1052   
    /// Customizing behavior major version:
 1052   1053   
    /// ```no_run
 1053   1054   
    /// use aws_sdk_codecatalyst::config::BehaviorVersion;
 1054   1055   
    ///
 1055   1056   
    /// let config = aws_sdk_codecatalyst::Config::builder()
 1056   1057   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1057   1058   
    ///     // ...
 1058   1059   
    ///     .build();
 1059   1060   
    /// let client = aws_sdk_codecatalyst::Client::from_conf(config);
 1060   1061   
    /// ```
 1061         -
        1062  +
    ///
 1062   1063   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1063   1064   
        self.behavior_version = behavior_version;
 1064   1065   
        self
 1065   1066   
    }
 1066   1067   
 1067   1068   
    /// Convenience method to set the latest behavior major version
 1068   1069   
    ///
 1069   1070   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1070   1071   
    pub fn behavior_version_latest(mut self) -> Self {
 1071   1072   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1147,1148 +1207,1208 @@
 1167   1168   
    }
 1168   1169   
 1169   1170   
    fn runtime_components(
 1170   1171   
        &self,
 1171   1172   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1172   1173   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1173   1174   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1174   1175   
    }
 1175   1176   
}
 1176   1177   
 1177         -
/// Cross-operation shared-state singletons
        1178  +
// Cross-operation shared-state singletons
 1178   1179   
 1179   1180   
/// A plugin that enables configuration for a single operation invocation
 1180   1181   
///
 1181   1182   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1182   1183   
/// In the case of default values requested, they will be obtained from `client_config`.
 1183   1184   
#[derive(Debug)]
 1184   1185   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1185   1186   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1186   1187   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1187   1188   
}

tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml

@@ -1,1 +40,40 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-config"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for AWS Config"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   

tmp-codegen-diff/aws-sdk/sdk/config/src/config.rs

@@ -235,235 +329,330 @@
  255    255   
    /// let config = builder.build();
  256    256   
    /// # }
  257    257   
    /// # }
  258    258   
    /// ```
  259    259   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  260    260   
        self.runtime_components.set_http_client(http_client);
  261    261   
        self
  262    262   
    }
  263    263   
    /// Sets the endpoint resolver to use when making requests.
  264    264   
    ///
  265         -
         265  +
    ///
  266    266   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  267    267   
    /// rules for `aws_sdk_config`.
  268         -
         268  +
    ///
  269    269   
    ///
  270    270   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  271    271   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  272    272   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  273    273   
    ///
  274    274   
    /// # Examples
  275    275   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  276    276   
    /// ```no_run
  277    277   
    /// use aws_sdk_config::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  278    278   
    /// #[derive(Debug)]
  279    279   
    /// struct StageResolver { stage: String }
  280    280   
    /// impl ResolveEndpoint for StageResolver {
  281    281   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  282    282   
    ///         let stage = &self.stage;
  283    283   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  284    284   
    ///     }
  285    285   
    /// }
  286    286   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  287    287   
    /// let config = aws_sdk_config::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_config::Client::from_conf(config);
  289    289   
    /// ```
  290    290   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  291    291   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  292    292   
        self
  293    293   
    }
  294    294   
  295    295   
    /// Sets the endpoint resolver to use when making requests.
  296    296   
    ///
  297         -
         297  +
    ///
  298    298   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  299    299   
    /// rules for `aws_sdk_config`.
         300  +
    ///
  300    301   
    pub fn set_endpoint_resolver(
  301    302   
        &mut self,
  302    303   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  303    304   
    ) -> &mut Self {
  304    305   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  305    306   
        self
  306    307   
    }
  307    308   
    /// Set the retry_config for the builder
  308    309   
    ///
  309    310   
    /// # Examples
@@ -475,476 +581,582 @@
  495    496   
    ///     .identity_cache(
  496    497   
    ///         IdentityCache::lazy()
  497    498   
    ///             // change the load timeout to 10 seconds
  498    499   
    ///             .load_timeout(Duration::from_secs(10))
  499    500   
    ///             .build()
  500    501   
    ///     )
  501    502   
    ///     // ...
  502    503   
    ///     .build();
  503    504   
    /// let client = aws_sdk_config::Client::from_conf(config);
  504    505   
    /// ```
  505         -
         506  +
    ///
  506    507   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  507    508   
        self.set_identity_cache(identity_cache);
  508    509   
        self
  509    510   
    }
  510    511   
  511    512   
    /// Set the identity cache for auth.
  512    513   
    ///
  513    514   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  514    515   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  515    516   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  516    517   
    /// the next request will result in refreshing the identity.
  517    518   
    ///
  518    519   
    /// This configuration allows you to disable or change the default caching mechanism.
  519    520   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  520    521   
    /// trait and pass that implementation into this function.
  521    522   
    ///
  522    523   
    /// # Examples
  523    524   
    ///
  524    525   
    /// Disabling identity caching:
  525    526   
    /// ```no_run
  526    527   
    /// use aws_sdk_config::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_config::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_config::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_config::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_config::Config::builder()
  541    542   
    ///     .identity_cache(
  542    543   
    ///         IdentityCache::lazy()
  543    544   
    ///             // change the load timeout to 10 seconds
  544    545   
    ///             .load_timeout(Duration::from_secs(10))
  545    546   
    ///             .build()
  546    547   
    ///     )
  547    548   
    ///     // ...
  548    549   
    ///     .build();
  549    550   
    /// let client = aws_sdk_config::Client::from_conf(config);
  550    551   
    /// ```
  551         -
         552  +
    ///
  552    553   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  553    554   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  554    555   
        self
  555    556   
    }
  556    557   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  557    558   
    ///
  558    559   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  559    560   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  560    561   
    /// will run after those default interceptors.
  561    562   
    ///
@@ -975,976 +1070,1071 @@
  995    996   
    /// Customizing behavior major version:
  996    997   
    /// ```no_run
  997    998   
    /// use aws_sdk_config::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_config::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_config::Client::from_conf(config);
 1004   1005   
    /// ```
 1005         -
        1006  +
    ///
 1006   1007   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1007   1008   
        self.set_behavior_version(Some(behavior_version));
 1008   1009   
        self
 1009   1010   
    }
 1010   1011   
 1011   1012   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1012   1013   
    ///
 1013   1014   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1014   1015   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1015   1016   
    /// all operations might be the ideal behavior but could break existing applications.
 1016   1017   
    ///
 1017   1018   
    /// # Examples
 1018   1019   
    ///
 1019   1020   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1020   1021   
    /// ```no_run
 1021   1022   
    /// use aws_sdk_config::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_config::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_config::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_config::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_config::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_config::Client::from_conf(config);
 1039   1040   
    /// ```
 1040         -
        1041  +
    ///
 1041   1042   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1042   1043   
        self.behavior_version = behavior_version;
 1043   1044   
        self
 1044   1045   
    }
 1045   1046   
 1046   1047   
    /// Convenience method to set the latest behavior major version
 1047   1048   
    ///
 1048   1049   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1049   1050   
    pub fn behavior_version_latest(mut self) -> Self {
 1050   1051   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1131,1132 +1191,1192 @@
 1151   1152   
    }
 1152   1153   
 1153   1154   
    fn runtime_components(
 1154   1155   
        &self,
 1155   1156   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1156   1157   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1157   1158   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1158   1159   
    }
 1159   1160   
}
 1160   1161   
 1161         -
/// Cross-operation shared-state singletons
        1162  +
// Cross-operation shared-state singletons
 1162   1163   
 1163   1164   
/// A plugin that enables configuration for a single operation invocation
 1164   1165   
///
 1165   1166   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1166   1167   
/// In the case of default values requested, they will be obtained from `client_config`.
 1167   1168   
#[derive(Debug)]
 1168   1169   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1169   1170   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1170   1171   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1171   1172   
}

tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml

@@ -1,1 +40,40 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-dynamodb"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon DynamoDB"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   

tmp-codegen-diff/aws-sdk/sdk/dynamodb/src/config.rs

@@ -252,252 +346,347 @@
  272    272   
    /// let config = builder.build();
  273    273   
    /// # }
  274    274   
    /// # }
  275    275   
    /// ```
  276    276   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  277    277   
        self.runtime_components.set_http_client(http_client);
  278    278   
        self
  279    279   
    }
  280    280   
    /// Sets the endpoint resolver to use when making requests.
  281    281   
    ///
  282         -
         282  +
    ///
  283    283   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  284    284   
    /// rules for `aws_sdk_dynamodb`.
  285         -
         285  +
    ///
  286    286   
    ///
  287    287   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  288    288   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  289    289   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  290    290   
    ///
  291    291   
    /// # Examples
  292    292   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  293    293   
    /// ```no_run
  294    294   
    /// use aws_sdk_dynamodb::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  295    295   
    /// #[derive(Debug)]
  296    296   
    /// struct StageResolver { stage: String }
  297    297   
    /// impl ResolveEndpoint for StageResolver {
  298    298   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  299    299   
    ///         let stage = &self.stage;
  300    300   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  301    301   
    ///     }
  302    302   
    /// }
  303    303   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  304    304   
    /// let config = aws_sdk_dynamodb::Config::builder().endpoint_resolver(resolver).build();
  305    305   
    /// let client = aws_sdk_dynamodb::Client::from_conf(config);
  306    306   
    /// ```
  307    307   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  308    308   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  309    309   
        self
  310    310   
    }
  311    311   
  312    312   
    /// Sets the endpoint resolver to use when making requests.
  313    313   
    ///
  314         -
         314  +
    ///
  315    315   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  316    316   
    /// rules for `aws_sdk_dynamodb`.
         317  +
    ///
  317    318   
    pub fn set_endpoint_resolver(
  318    319   
        &mut self,
  319    320   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  320    321   
    ) -> &mut Self {
  321    322   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  322    323   
        self
  323    324   
    }
  324    325   
    /// Set the retry_config for the builder
  325    326   
    ///
  326    327   
    /// # Examples
@@ -492,493 +598,599 @@
  512    513   
    ///     .identity_cache(
  513    514   
    ///         IdentityCache::lazy()
  514    515   
    ///             // change the load timeout to 10 seconds
  515    516   
    ///             .load_timeout(Duration::from_secs(10))
  516    517   
    ///             .build()
  517    518   
    ///     )
  518    519   
    ///     // ...
  519    520   
    ///     .build();
  520    521   
    /// let client = aws_sdk_dynamodb::Client::from_conf(config);
  521    522   
    /// ```
  522         -
         523  +
    ///
  523    524   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  524    525   
        self.set_identity_cache(identity_cache);
  525    526   
        self
  526    527   
    }
  527    528   
  528    529   
    /// Set the identity cache for auth.
  529    530   
    ///
  530    531   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  531    532   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  532    533   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  533    534   
    /// the next request will result in refreshing the identity.
  534    535   
    ///
  535    536   
    /// This configuration allows you to disable or change the default caching mechanism.
  536    537   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  537    538   
    /// trait and pass that implementation into this function.
  538    539   
    ///
  539    540   
    /// # Examples
  540    541   
    ///
  541    542   
    /// Disabling identity caching:
  542    543   
    /// ```no_run
  543    544   
    /// use aws_sdk_dynamodb::config::IdentityCache;
  544    545   
    ///
  545    546   
    /// let config = aws_sdk_dynamodb::Config::builder()
  546    547   
    ///     .identity_cache(IdentityCache::no_cache())
  547    548   
    ///     // ...
  548    549   
    ///     .build();
  549    550   
    /// let client = aws_sdk_dynamodb::Client::from_conf(config);
  550    551   
    /// ```
  551    552   
    ///
  552    553   
    /// Customizing lazy caching:
  553    554   
    /// ```no_run
  554    555   
    /// use aws_sdk_dynamodb::config::IdentityCache;
  555    556   
    /// use std::time::Duration;
  556    557   
    ///
  557    558   
    /// let config = aws_sdk_dynamodb::Config::builder()
  558    559   
    ///     .identity_cache(
  559    560   
    ///         IdentityCache::lazy()
  560    561   
    ///             // change the load timeout to 10 seconds
  561    562   
    ///             .load_timeout(Duration::from_secs(10))
  562    563   
    ///             .build()
  563    564   
    ///     )
  564    565   
    ///     // ...
  565    566   
    ///     .build();
  566    567   
    /// let client = aws_sdk_dynamodb::Client::from_conf(config);
  567    568   
    /// ```
  568         -
         569  +
    ///
  569    570   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  570    571   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  571    572   
        self
  572    573   
    }
  573    574   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  574    575   
    ///
  575    576   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  576    577   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  577    578   
    /// will run after those default interceptors.
  578    579   
    ///
@@ -1005,1006 +1100,1101 @@
 1025   1026   
    /// Customizing behavior major version:
 1026   1027   
    /// ```no_run
 1027   1028   
    /// use aws_sdk_dynamodb::config::BehaviorVersion;
 1028   1029   
    ///
 1029   1030   
    /// let config = aws_sdk_dynamodb::Config::builder()
 1030   1031   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1031   1032   
    ///     // ...
 1032   1033   
    ///     .build();
 1033   1034   
    /// let client = aws_sdk_dynamodb::Client::from_conf(config);
 1034   1035   
    /// ```
 1035         -
        1036  +
    ///
 1036   1037   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1037   1038   
        self.set_behavior_version(Some(behavior_version));
 1038   1039   
        self
 1039   1040   
    }
 1040   1041   
 1041   1042   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1042   1043   
    ///
 1043   1044   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1044   1045   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1045   1046   
    /// all operations might be the ideal behavior but could break existing applications.
 1046   1047   
    ///
 1047   1048   
    /// # Examples
 1048   1049   
    ///
 1049   1050   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1050   1051   
    /// ```no_run
 1051   1052   
    /// use aws_sdk_dynamodb::config::BehaviorVersion;
 1052   1053   
    ///
 1053   1054   
    /// let config = aws_sdk_dynamodb::Config::builder()
 1054   1055   
    ///     .behavior_version(BehaviorVersion::latest())
 1055   1056   
    ///     // ...
 1056   1057   
    ///     .build();
 1057   1058   
    /// let client = aws_sdk_dynamodb::Client::from_conf(config);
 1058   1059   
    /// ```
 1059   1060   
    ///
 1060   1061   
    /// Customizing behavior major version:
 1061   1062   
    /// ```no_run
 1062   1063   
    /// use aws_sdk_dynamodb::config::BehaviorVersion;
 1063   1064   
    ///
 1064   1065   
    /// let config = aws_sdk_dynamodb::Config::builder()
 1065   1066   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1066   1067   
    ///     // ...
 1067   1068   
    ///     .build();
 1068   1069   
    /// let client = aws_sdk_dynamodb::Client::from_conf(config);
 1069   1070   
    /// ```
 1070         -
        1071  +
    ///
 1071   1072   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1072   1073   
        self.behavior_version = behavior_version;
 1073   1074   
        self
 1074   1075   
    }
 1075   1076   
 1076   1077   
    /// Convenience method to set the latest behavior major version
 1077   1078   
    ///
 1078   1079   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1079   1080   
    pub fn behavior_version_latest(mut self) -> Self {
 1080   1081   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1163,1164 +1223,1224 @@
 1183   1184   
    }
 1184   1185   
 1185   1186   
    fn runtime_components(
 1186   1187   
        &self,
 1187   1188   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1188   1189   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1189   1190   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1190   1191   
    }
 1191   1192   
}
 1192   1193   
 1193         -
/// Cross-operation shared-state singletons
        1194  +
// Cross-operation shared-state singletons
 1194   1195   
 1195   1196   
/// A plugin that enables configuration for a single operation invocation
 1196   1197   
///
 1197   1198   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1198   1199   
/// In the case of default values requested, they will be obtained from `client_config`.
 1199   1200   
#[derive(Debug)]
 1200   1201   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1201   1202   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1202   1203   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1203   1204   
}

tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml

@@ -1,1 +40,40 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-ec2"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon Elastic Compute Cloud"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   

tmp-codegen-diff/aws-sdk/sdk/ec2/src/config.rs

@@ -251,251 +345,346 @@
  271    271   
    /// let config = builder.build();
  272    272   
    /// # }
  273    273   
    /// # }
  274    274   
    /// ```
  275    275   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  276    276   
        self.runtime_components.set_http_client(http_client);
  277    277   
        self
  278    278   
    }
  279    279   
    /// Sets the endpoint resolver to use when making requests.
  280    280   
    ///
  281         -
         281  +
    ///
  282    282   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  283    283   
    /// rules for `aws_sdk_ec2`.
  284         -
         284  +
    ///
  285    285   
    ///
  286    286   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  287    287   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  288    288   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  289    289   
    ///
  290    290   
    /// # Examples
  291    291   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  292    292   
    /// ```no_run
  293    293   
    /// use aws_sdk_ec2::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  294    294   
    /// #[derive(Debug)]
  295    295   
    /// struct StageResolver { stage: String }
  296    296   
    /// impl ResolveEndpoint for StageResolver {
  297    297   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  298    298   
    ///         let stage = &self.stage;
  299    299   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  300    300   
    ///     }
  301    301   
    /// }
  302    302   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  303    303   
    /// let config = aws_sdk_ec2::Config::builder().endpoint_resolver(resolver).build();
  304    304   
    /// let client = aws_sdk_ec2::Client::from_conf(config);
  305    305   
    /// ```
  306    306   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  307    307   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  308    308   
        self
  309    309   
    }
  310    310   
  311    311   
    /// Sets the endpoint resolver to use when making requests.
  312    312   
    ///
  313         -
         313  +
    ///
  314    314   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  315    315   
    /// rules for `aws_sdk_ec2`.
         316  +
    ///
  316    317   
    pub fn set_endpoint_resolver(
  317    318   
        &mut self,
  318    319   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  319    320   
    ) -> &mut Self {
  320    321   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  321    322   
        self
  322    323   
    }
  323    324   
    /// Set the retry_config for the builder
  324    325   
    ///
  325    326   
    /// # Examples
@@ -491,492 +597,598 @@
  511    512   
    ///     .identity_cache(
  512    513   
    ///         IdentityCache::lazy()
  513    514   
    ///             // change the load timeout to 10 seconds
  514    515   
    ///             .load_timeout(Duration::from_secs(10))
  515    516   
    ///             .build()
  516    517   
    ///     )
  517    518   
    ///     // ...
  518    519   
    ///     .build();
  519    520   
    /// let client = aws_sdk_ec2::Client::from_conf(config);
  520    521   
    /// ```
  521         -
         522  +
    ///
  522    523   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  523    524   
        self.set_identity_cache(identity_cache);
  524    525   
        self
  525    526   
    }
  526    527   
  527    528   
    /// Set the identity cache for auth.
  528    529   
    ///
  529    530   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  530    531   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  531    532   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  532    533   
    /// the next request will result in refreshing the identity.
  533    534   
    ///
  534    535   
    /// This configuration allows you to disable or change the default caching mechanism.
  535    536   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  536    537   
    /// trait and pass that implementation into this function.
  537    538   
    ///
  538    539   
    /// # Examples
  539    540   
    ///
  540    541   
    /// Disabling identity caching:
  541    542   
    /// ```no_run
  542    543   
    /// use aws_sdk_ec2::config::IdentityCache;
  543    544   
    ///
  544    545   
    /// let config = aws_sdk_ec2::Config::builder()
  545    546   
    ///     .identity_cache(IdentityCache::no_cache())
  546    547   
    ///     // ...
  547    548   
    ///     .build();
  548    549   
    /// let client = aws_sdk_ec2::Client::from_conf(config);
  549    550   
    /// ```
  550    551   
    ///
  551    552   
    /// Customizing lazy caching:
  552    553   
    /// ```no_run
  553    554   
    /// use aws_sdk_ec2::config::IdentityCache;
  554    555   
    /// use std::time::Duration;
  555    556   
    ///
  556    557   
    /// let config = aws_sdk_ec2::Config::builder()
  557    558   
    ///     .identity_cache(
  558    559   
    ///         IdentityCache::lazy()
  559    560   
    ///             // change the load timeout to 10 seconds
  560    561   
    ///             .load_timeout(Duration::from_secs(10))
  561    562   
    ///             .build()
  562    563   
    ///     )
  563    564   
    ///     // ...
  564    565   
    ///     .build();
  565    566   
    /// let client = aws_sdk_ec2::Client::from_conf(config);
  566    567   
    /// ```
  567         -
         568  +
    ///
  568    569   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  569    570   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  570    571   
        self
  571    572   
    }
  572    573   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  573    574   
    ///
  574    575   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  575    576   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  576    577   
    /// will run after those default interceptors.
  577    578   
    ///
@@ -991,992 +1086,1087 @@
 1011   1012   
    /// Customizing behavior major version:
 1012   1013   
    /// ```no_run
 1013   1014   
    /// use aws_sdk_ec2::config::BehaviorVersion;
 1014   1015   
    ///
 1015   1016   
    /// let config = aws_sdk_ec2::Config::builder()
 1016   1017   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1017   1018   
    ///     // ...
 1018   1019   
    ///     .build();
 1019   1020   
    /// let client = aws_sdk_ec2::Client::from_conf(config);
 1020   1021   
    /// ```
 1021         -
        1022  +
    ///
 1022   1023   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1023   1024   
        self.set_behavior_version(Some(behavior_version));
 1024   1025   
        self
 1025   1026   
    }
 1026   1027   
 1027   1028   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1028   1029   
    ///
 1029   1030   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1030   1031   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1031   1032   
    /// all operations might be the ideal behavior but could break existing applications.
 1032   1033   
    ///
 1033   1034   
    /// # Examples
 1034   1035   
    ///
 1035   1036   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1036   1037   
    /// ```no_run
 1037   1038   
    /// use aws_sdk_ec2::config::BehaviorVersion;
 1038   1039   
    ///
 1039   1040   
    /// let config = aws_sdk_ec2::Config::builder()
 1040   1041   
    ///     .behavior_version(BehaviorVersion::latest())
 1041   1042   
    ///     // ...
 1042   1043   
    ///     .build();
 1043   1044   
    /// let client = aws_sdk_ec2::Client::from_conf(config);
 1044   1045   
    /// ```
 1045   1046   
    ///
 1046   1047   
    /// Customizing behavior major version:
 1047   1048   
    /// ```no_run
 1048   1049   
    /// use aws_sdk_ec2::config::BehaviorVersion;
 1049   1050   
    ///
 1050   1051   
    /// let config = aws_sdk_ec2::Config::builder()
 1051   1052   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1052   1053   
    ///     // ...
 1053   1054   
    ///     .build();
 1054   1055   
    /// let client = aws_sdk_ec2::Client::from_conf(config);
 1055   1056   
    /// ```
 1056         -
        1057  +
    ///
 1057   1058   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1058   1059   
        self.behavior_version = behavior_version;
 1059   1060   
        self
 1060   1061   
    }
 1061   1062   
 1062   1063   
    /// Convenience method to set the latest behavior major version
 1063   1064   
    ///
 1064   1065   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1065   1066   
    pub fn behavior_version_latest(mut self) -> Self {
 1066   1067   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1149,1150 +1209,1210 @@
 1169   1170   
    }
 1170   1171   
 1171   1172   
    fn runtime_components(
 1172   1173   
        &self,
 1173   1174   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1174   1175   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1175   1176   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1176   1177   
    }
 1177   1178   
}
 1178   1179   
 1179         -
/// Cross-operation shared-state singletons
        1180  +
// Cross-operation shared-state singletons
 1180   1181   
 1181   1182   
/// A plugin that enables configuration for a single operation invocation
 1182   1183   
///
 1183   1184   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1184   1185   
/// In the case of default values requested, they will be obtained from `client_config`.
 1185   1186   
#[derive(Debug)]
 1186   1187   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1187   1188   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1188   1189   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1189   1190   
}

tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml

@@ -1,1 +40,40 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-ecs"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon EC2 Container Service"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   

tmp-codegen-diff/aws-sdk/sdk/ecs/src/config.rs

@@ -251,251 +345,346 @@
  271    271   
    /// let config = builder.build();
  272    272   
    /// # }
  273    273   
    /// # }
  274    274   
    /// ```
  275    275   
    pub fn set_http_client(&mut self, http_client: Option<crate::config::SharedHttpClient>) -> &mut Self {
  276    276   
        self.runtime_components.set_http_client(http_client);
  277    277   
        self
  278    278   
    }
  279    279   
    /// Sets the endpoint resolver to use when making requests.
  280    280   
    ///
  281         -
         281  +
    ///
  282    282   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  283    283   
    /// rules for `aws_sdk_ecs`.
  284         -
         284  +
    ///
  285    285   
    ///
  286    286   
    /// Note: setting an endpoint resolver will replace any endpoint URL that has been set.
  287    287   
    /// This method accepts an endpoint resolver [specific to this service](crate::config::endpoint::ResolveEndpoint). If you want to
  288    288   
    /// provide a shared endpoint resolver, use [`Self::set_endpoint_resolver`].
  289    289   
    ///
  290    290   
    /// # Examples
  291    291   
    /// Create a custom endpoint resolver that resolves a different endpoing per-stage, e.g. staging vs. production.
  292    292   
    /// ```no_run
  293    293   
    /// use aws_sdk_ecs::config::endpoint::{ResolveEndpoint, EndpointFuture, Params, Endpoint};
  294    294   
    /// #[derive(Debug)]
  295    295   
    /// struct StageResolver { stage: String }
  296    296   
    /// impl ResolveEndpoint for StageResolver {
  297    297   
    ///     fn resolve_endpoint(&self, params: &Params) -> EndpointFuture<'_> {
  298    298   
    ///         let stage = &self.stage;
  299    299   
    ///         EndpointFuture::ready(Ok(Endpoint::builder().url(format!("{stage}.myservice.com")).build()))
  300    300   
    ///     }
  301    301   
    /// }
  302    302   
    /// let resolver = StageResolver { stage: std::env::var("STAGE").unwrap() };
  303    303   
    /// let config = aws_sdk_ecs::Config::builder().endpoint_resolver(resolver).build();
  304    304   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
  305    305   
    /// ```
  306    306   
    pub fn endpoint_resolver(mut self, endpoint_resolver: impl crate::config::endpoint::ResolveEndpoint + 'static) -> Self {
  307    307   
        self.set_endpoint_resolver(::std::option::Option::Some(endpoint_resolver.into_shared_resolver()));
  308    308   
        self
  309    309   
    }
  310    310   
  311    311   
    /// Sets the endpoint resolver to use when making requests.
  312    312   
    ///
  313         -
         313  +
    ///
  314    314   
    /// When unset, the client will used a generated endpoint resolver based on the endpoint resolution
  315    315   
    /// rules for `aws_sdk_ecs`.
         316  +
    ///
  316    317   
    pub fn set_endpoint_resolver(
  317    318   
        &mut self,
  318    319   
        endpoint_resolver: ::std::option::Option<::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver>,
  319    320   
    ) -> &mut Self {
  320    321   
        self.runtime_components.set_endpoint_resolver(endpoint_resolver);
  321    322   
        self
  322    323   
    }
  323    324   
    /// Set the retry_config for the builder
  324    325   
    ///
  325    326   
    /// # Examples
@@ -491,492 +597,598 @@
  511    512   
    ///     .identity_cache(
  512    513   
    ///         IdentityCache::lazy()
  513    514   
    ///             // change the load timeout to 10 seconds
  514    515   
    ///             .load_timeout(Duration::from_secs(10))
  515    516   
    ///             .build()
  516    517   
    ///     )
  517    518   
    ///     // ...
  518    519   
    ///     .build();
  519    520   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
  520    521   
    /// ```
  521         -
         522  +
    ///
  522    523   
    pub fn identity_cache(mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> Self {
  523    524   
        self.set_identity_cache(identity_cache);
  524    525   
        self
  525    526   
    }
  526    527   
  527    528   
    /// Set the identity cache for auth.
  528    529   
    ///
  529    530   
    /// The identity cache defaults to a lazy caching implementation that will resolve
  530    531   
    /// an identity when it is requested, and place it in the cache thereafter. Subsequent
  531    532   
    /// requests will take the value from the cache while it is still valid. Once it expires,
  532    533   
    /// the next request will result in refreshing the identity.
  533    534   
    ///
  534    535   
    /// This configuration allows you to disable or change the default caching mechanism.
  535    536   
    /// To use a custom caching mechanism, implement the [`ResolveCachedIdentity`](crate::config::ResolveCachedIdentity)
  536    537   
    /// trait and pass that implementation into this function.
  537    538   
    ///
  538    539   
    /// # Examples
  539    540   
    ///
  540    541   
    /// Disabling identity caching:
  541    542   
    /// ```no_run
  542    543   
    /// use aws_sdk_ecs::config::IdentityCache;
  543    544   
    ///
  544    545   
    /// let config = aws_sdk_ecs::Config::builder()
  545    546   
    ///     .identity_cache(IdentityCache::no_cache())
  546    547   
    ///     // ...
  547    548   
    ///     .build();
  548    549   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
  549    550   
    /// ```
  550    551   
    ///
  551    552   
    /// Customizing lazy caching:
  552    553   
    /// ```no_run
  553    554   
    /// use aws_sdk_ecs::config::IdentityCache;
  554    555   
    /// use std::time::Duration;
  555    556   
    ///
  556    557   
    /// let config = aws_sdk_ecs::Config::builder()
  557    558   
    ///     .identity_cache(
  558    559   
    ///         IdentityCache::lazy()
  559    560   
    ///             // change the load timeout to 10 seconds
  560    561   
    ///             .load_timeout(Duration::from_secs(10))
  561    562   
    ///             .build()
  562    563   
    ///     )
  563    564   
    ///     // ...
  564    565   
    ///     .build();
  565    566   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
  566    567   
    /// ```
  567         -
         568  +
    ///
  568    569   
    pub fn set_identity_cache(&mut self, identity_cache: impl crate::config::ResolveCachedIdentity + 'static) -> &mut Self {
  569    570   
        self.runtime_components.set_identity_cache(::std::option::Option::Some(identity_cache));
  570    571   
        self
  571    572   
    }
  572    573   
    /// Add an [interceptor](crate::config::Intercept) that runs at specific stages of the request execution pipeline.
  573    574   
    ///
  574    575   
    /// Interceptors targeted at a certain stage are executed according to the pre-defined priority.
  575    576   
    /// The SDK provides a default set of interceptors. An interceptor configured by this method
  576    577   
    /// will run after those default interceptors.
  577    578   
    ///
@@ -991,992 +1086,1087 @@
 1011   1012   
    /// Customizing behavior major version:
 1012   1013   
    /// ```no_run
 1013   1014   
    /// use aws_sdk_ecs::config::BehaviorVersion;
 1014   1015   
    ///
 1015   1016   
    /// let config = aws_sdk_ecs::Config::builder()
 1016   1017   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1017   1018   
    ///     // ...
 1018   1019   
    ///     .build();
 1019   1020   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
 1020   1021   
    /// ```
 1021         -
        1022  +
    ///
 1022   1023   
    pub fn behavior_version(mut self, behavior_version: crate::config::BehaviorVersion) -> Self {
 1023   1024   
        self.set_behavior_version(Some(behavior_version));
 1024   1025   
        self
 1025   1026   
    }
 1026   1027   
 1027   1028   
    /// Sets the [`behavior major version`](crate::config::BehaviorVersion).
 1028   1029   
    ///
 1029   1030   
    /// Over time, new best-practice behaviors are introduced. However, these behaviors might not be backwards
 1030   1031   
    /// compatible. For example, a change which introduces new default timeouts or a new retry-mode for
 1031   1032   
    /// all operations might be the ideal behavior but could break existing applications.
 1032   1033   
    ///
 1033   1034   
    /// # Examples
 1034   1035   
    ///
 1035   1036   
    /// Set the behavior major version to `latest`. This is equivalent to enabling the `behavior-version-latest` cargo feature.
 1036   1037   
    /// ```no_run
 1037   1038   
    /// use aws_sdk_ecs::config::BehaviorVersion;
 1038   1039   
    ///
 1039   1040   
    /// let config = aws_sdk_ecs::Config::builder()
 1040   1041   
    ///     .behavior_version(BehaviorVersion::latest())
 1041   1042   
    ///     // ...
 1042   1043   
    ///     .build();
 1043   1044   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
 1044   1045   
    /// ```
 1045   1046   
    ///
 1046   1047   
    /// Customizing behavior major version:
 1047   1048   
    /// ```no_run
 1048   1049   
    /// use aws_sdk_ecs::config::BehaviorVersion;
 1049   1050   
    ///
 1050   1051   
    /// let config = aws_sdk_ecs::Config::builder()
 1051   1052   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1052   1053   
    ///     // ...
 1053   1054   
    ///     .build();
 1054   1055   
    /// let client = aws_sdk_ecs::Client::from_conf(config);
 1055   1056   
    /// ```
 1056         -
        1057  +
    ///
 1057   1058   
    pub fn set_behavior_version(&mut self, behavior_version: Option<crate::config::BehaviorVersion>) -> &mut Self {
 1058   1059   
        self.behavior_version = behavior_version;
 1059   1060   
        self
 1060   1061   
    }
 1061   1062   
 1062   1063   
    /// Convenience method to set the latest behavior major version
 1063   1064   
    ///
 1064   1065   
    /// This is equivalent to enabling the `behavior-version-latest` Cargo feature
 1065   1066   
    pub fn behavior_version_latest(mut self) -> Self {
 1066   1067   
        self.set_behavior_version(Some(crate::config::BehaviorVersion::latest()));
@@ -1149,1150 +1209,1210 @@
 1169   1170   
    }
 1170   1171   
 1171   1172   
    fn runtime_components(
 1172   1173   
        &self,
 1173   1174   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1174   1175   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1175   1176   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1176   1177   
    }
 1177   1178   
}
 1178   1179   
 1179         -
/// Cross-operation shared-state singletons
        1180  +
// Cross-operation shared-state singletons
 1180   1181   
 1181   1182   
/// A plugin that enables configuration for a single operation invocation
 1182   1183   
///
 1183   1184   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1184   1185   
/// In the case of default values requested, they will be obtained from `client_config`.
 1185   1186   
#[derive(Debug)]
 1186   1187   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1187   1188   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1188   1189   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1189   1190   
}