AWS SDK

AWS SDK

rev. 960037ddd6baa855c43528258ed60c279b45ae58

Files changed:

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

@@ -1,1 +89,89 @@
    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   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23     23   
version = "1.5.7"
   24     24   
   25     25   
[dependencies.aws-smithy-async]
   26     26   
path = "../aws-smithy-async"
   27     27   
version = "1.2.5"
   28     28   
   29     29   
[dependencies.aws-smithy-http]
   30     30   
path = "../aws-smithy-http"
   31     31   
version = "0.62.1"
   32     32   
   33     33   
[dependencies.aws-smithy-json]
   34     34   
path = "../aws-smithy-json"
   35     35   
version = "0.61.3"
   36     36   
   37     37   
[dependencies.aws-smithy-runtime]
   38     38   
path = "../aws-smithy-runtime"
   39     39   
features = ["client"]
   40     40   
version = "1.8.3"
   41     41   
   42     42   
[dependencies.aws-smithy-runtime-api]
   43     43   
path = "../aws-smithy-runtime-api"
   44     44   
features = ["client", "http-02x"]
   45     45   
version = "1.8.0"
   46     46   
   47     47   
[dependencies.aws-smithy-types]
   48     48   
path = "../aws-smithy-types"
   49     49   
version = "1.3.1"
   50     50   
   51     51   
[dependencies.aws-types]
   52     52   
path = "../aws-types"
   53     53   
version = "1.3.7"
   54     54   
   55     55   
[dependencies.bytes]
   56     56   
version = "1.4.0"
   57     57   
   58     58   
[dependencies.fastrand]
   59     59   
version = "2.0.0"
   60     60   
   61     61   
[dependencies.http]
   62     62   
version = "0.2.9"
   63     63   
   64     64   
[dependencies.regex-lite]
   65     65   
version = "0.1.5"
   66     66   
   67     67   
[dependencies.tracing]
   68     68   
version = "0.1"
   69     69   
[dev-dependencies.aws-config]
   70     70   
path = "../aws-config"
   71         -
version = "1.6.3"
          71  +
version = "1.6.4"
   72     72   
   73     73   
[dev-dependencies.aws-credential-types]
   74     74   
path = "../aws-credential-types"
   75     75   
features = ["test-util"]
   76     76   
version = "1.2.3"
   77     77   
   78     78   
[dev-dependencies.tokio]
   79     79   
version = "1.23.1"
   80     80   
features = ["macros", "test-util", "rt-multi-thread"]
   81     81   

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   
}

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

@@ -65,65 +180,153 @@
   85     85   
    let input = match &input.next_token {
   86     86   
        ::std::option::Option::None => return ::std::option::Option::None,
   87     87   
        ::std::option::Option::Some(t) => t,
   88     88   
    };
   89     89   
    ::std::option::Option::Some(input)
   90     90   
}
   91     91   
   92     92   
pub(crate) fn lens_list_account_settings_output_output_settings(
   93     93   
    input: crate::operation::list_account_settings::ListAccountSettingsOutput,
   94     94   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Setting>> {
   95         -
    let input = match input.settings {
   96         -
        ::std::option::Option::None => return ::std::option::Option::None,
   97         -
        ::std::option::Option::Some(t) => t,
   98         -
    };
          95  +
    let input = input.settings?;
   99     96   
    ::std::option::Option::Some(input)
  100     97   
}
  101     98   
  102     99   
pub(crate) fn lens_list_attributes_output_output_attributes(
  103    100   
    input: crate::operation::list_attributes::ListAttributesOutput,
  104    101   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Attribute>> {
  105         -
    let input = match input.attributes {
  106         -
        ::std::option::Option::None => return ::std::option::Option::None,
  107         -
        ::std::option::Option::Some(t) => t,
  108         -
    };
         102  +
    let input = input.attributes?;
  109    103   
    ::std::option::Option::Some(input)
  110    104   
}
  111    105   
  112    106   
pub(crate) fn lens_list_clusters_output_output_cluster_arns(
  113    107   
    input: crate::operation::list_clusters::ListClustersOutput,
  114    108   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  115         -
    let input = match input.cluster_arns {
  116         -
        ::std::option::Option::None => return ::std::option::Option::None,
  117         -
        ::std::option::Option::Some(t) => t,
  118         -
    };
         109  +
    let input = input.cluster_arns?;
  119    110   
    ::std::option::Option::Some(input)
  120    111   
}
  121    112   
  122    113   
pub(crate) fn lens_list_container_instances_output_output_container_instance_arns(
  123    114   
    input: crate::operation::list_container_instances::ListContainerInstancesOutput,
  124    115   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  125         -
    let input = match input.container_instance_arns {
  126         -
        ::std::option::Option::None => return ::std::option::Option::None,
  127         -
        ::std::option::Option::Some(t) => t,
  128         -
    };
         116  +
    let input = input.container_instance_arns?;
  129    117   
    ::std::option::Option::Some(input)
  130    118   
}
  131    119   
  132    120   
pub(crate) fn lens_list_services_output_output_service_arns(
  133    121   
    input: crate::operation::list_services::ListServicesOutput,
  134    122   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  135         -
    let input = match input.service_arns {
  136         -
        ::std::option::Option::None => return ::std::option::Option::None,
  137         -
        ::std::option::Option::Some(t) => t,
  138         -
    };
         123  +
    let input = input.service_arns?;
  139    124   
    ::std::option::Option::Some(input)
  140    125   
}
  141    126   
  142    127   
pub(crate) fn lens_list_services_by_namespace_output_output_service_arns(
  143    128   
    input: crate::operation::list_services_by_namespace::ListServicesByNamespaceOutput,
  144    129   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  145         -
    let input = match input.service_arns {
  146         -
        ::std::option::Option::None => return ::std::option::Option::None,
  147         -
        ::std::option::Option::Some(t) => t,
  148         -
    };
         130  +
    let input = input.service_arns?;
  149    131   
    ::std::option::Option::Some(input)
  150    132   
}
  151    133   
  152    134   
pub(crate) fn lens_list_task_definition_families_output_output_families(
  153    135   
    input: crate::operation::list_task_definition_families::ListTaskDefinitionFamiliesOutput,
  154    136   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  155         -
    let input = match input.families {
  156         -
        ::std::option::Option::None => return ::std::option::Option::None,
  157         -
        ::std::option::Option::Some(t) => t,
  158         -
    };
         137  +
    let input = input.families?;
  159    138   
    ::std::option::Option::Some(input)
  160    139   
}
  161    140   
  162    141   
pub(crate) fn lens_list_task_definitions_output_output_task_definition_arns(
  163    142   
    input: crate::operation::list_task_definitions::ListTaskDefinitionsOutput,
  164    143   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  165         -
    let input = match input.task_definition_arns {
  166         -
        ::std::option::Option::None => return ::std::option::Option::None,
  167         -
        ::std::option::Option::Some(t) => t,
  168         -
    };
         144  +
    let input = input.task_definition_arns?;
  169    145   
    ::std::option::Option::Some(input)
  170    146   
}
  171    147   
  172    148   
pub(crate) fn lens_list_tasks_output_output_task_arns(
  173    149   
    input: crate::operation::list_tasks::ListTasksOutput,
  174    150   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  175         -
    let input = match input.task_arns {
  176         -
        ::std::option::Option::None => return ::std::option::Option::None,
  177         -
        ::std::option::Option::Some(t) => t,
  178         -
    };
         151  +
    let input = input.task_arns?;
  179    152   
    ::std::option::Option::Some(input)
  180    153   
}

tmp-codegen-diff/aws-sdk/sdk/glacier/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-glacier"
    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 Glacier"
    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   
@@ -55,55 +139,139 @@
   75     75   
[dependencies.regex-lite]
   76     76   
version = "0.1.5"
   77     77   
   78     78   
[dependencies.ring]
   79     79   
version = "0.17.5"
   80     80   
   81     81   
[dependencies.tracing]
   82     82   
version = "0.1"
   83     83   
[dev-dependencies.aws-config]
   84     84   
path = "../aws-config"
   85         -
version = "1.6.3"
          85  +
version = "1.6.4"
   86     86   
   87     87   
[dev-dependencies.aws-credential-types]
   88     88   
path = "../aws-credential-types"
   89     89   
features = ["test-util"]
   90     90   
version = "1.2.3"
   91     91   
   92     92   
[dev-dependencies.aws-runtime]
   93     93   
path = "../aws-runtime"
   94     94   
features = ["test-util"]
   95     95   
version = "1.5.7"
   96     96   
   97     97   
[dev-dependencies.aws-smithy-async]
   98     98   
path = "../aws-smithy-async"
   99     99   
features = ["test-util"]
  100    100   
version = "1.2.5"
  101    101   
  102    102   
[dev-dependencies.aws-smithy-http-client]
  103    103   
path = "../aws-smithy-http-client"
  104    104   
features = ["test-util", "wire-mock"]
  105         -
version = "1.0.3"
         105  +
version = "1.0.4"
  106    106   
  107    107   
[dev-dependencies.aws-smithy-protocol-test]
  108    108   
path = "../aws-smithy-protocol-test"
  109         -
version = "0.63.2"
         109  +
version = "0.63.3"
  110    110   
  111    111   
[dev-dependencies.aws-smithy-runtime]
  112    112   
path = "../aws-smithy-runtime"
  113    113   
features = ["test-util"]
  114    114   
version = "1.8.3"
  115    115   
  116    116   
[dev-dependencies.aws-smithy-runtime-api]
  117    117   
path = "../aws-smithy-runtime-api"
  118    118   
features = ["test-util"]
  119    119   
version = "1.8.0"

tmp-codegen-diff/aws-sdk/sdk/glacier/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_glacier`.
  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_glacier::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_glacier::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_glacier::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_glacier`.
         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_glacier::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_glacier::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_glacier::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_glacier::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_glacier::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_glacier::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_glacier::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_glacier::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_glacier::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_glacier::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_glacier::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_glacier::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_glacier::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_glacier::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_glacier::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()));
@@ -1132,1133 +1192,1193 @@
 1152   1153   
    }
 1153   1154   
 1154   1155   
    fn runtime_components(
 1155   1156   
        &self,
 1156   1157   
        _: &::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1157   1158   
    ) -> ::std::borrow::Cow<'_, ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder> {
 1158   1159   
        ::std::borrow::Cow::Borrowed(&self.runtime_components)
 1159   1160   
    }
 1160   1161   
}
 1161   1162   
 1162         -
/// Cross-operation shared-state singletons
        1163  +
// Cross-operation shared-state singletons
 1163   1164   
 1164   1165   
/// A plugin that enables configuration for a single operation invocation
 1165   1166   
///
 1166   1167   
/// The `config` method will return a `FrozenLayer` by storing values from `config_override`.
 1167   1168   
/// In the case of default values requested, they will be obtained from `client_config`.
 1168   1169   
#[derive(Debug)]
 1169   1170   
pub(crate) struct ConfigOverrideRuntimePlugin {
 1170   1171   
    pub(crate) config: ::aws_smithy_types::config_bag::FrozenLayer,
 1171   1172   
    pub(crate) components: ::aws_smithy_runtime_api::client::runtime_components::RuntimeComponentsBuilder,
 1172   1173   
}

tmp-codegen-diff/aws-sdk/sdk/glacier/src/lens.rs

@@ -15,15 +80,68 @@
   35     35   
    let input = match &input.marker {
   36     36   
        ::std::option::Option::None => return ::std::option::Option::None,
   37     37   
        ::std::option::Option::Some(t) => t,
   38     38   
    };
   39     39   
    ::std::option::Option::Some(input)
   40     40   
}
   41     41   
   42     42   
pub(crate) fn lens_list_jobs_output_output_job_list(
   43     43   
    input: crate::operation::list_jobs::ListJobsOutput,
   44     44   
) -> ::std::option::Option<::std::vec::Vec<crate::types::GlacierJobDescription>> {
   45         -
    let input = match input.job_list {
   46         -
        ::std::option::Option::None => return ::std::option::Option::None,
   47         -
        ::std::option::Option::Some(t) => t,
   48         -
    };
          45  +
    let input = input.job_list?;
   49     46   
    ::std::option::Option::Some(input)
   50     47   
}
   51     48   
   52     49   
pub(crate) fn lens_list_multipart_uploads_output_output_uploads_list(
   53     50   
    input: crate::operation::list_multipart_uploads::ListMultipartUploadsOutput,
   54     51   
) -> ::std::option::Option<::std::vec::Vec<crate::types::UploadListElement>> {
   55         -
    let input = match input.uploads_list {
   56         -
        ::std::option::Option::None => return ::std::option::Option::None,
   57         -
        ::std::option::Option::Some(t) => t,
   58         -
    };
          52  +
    let input = input.uploads_list?;
   59     53   
    ::std::option::Option::Some(input)
   60     54   
}
   61     55   
   62     56   
pub(crate) fn lens_list_parts_output_output_parts(
   63     57   
    input: crate::operation::list_parts::ListPartsOutput,
   64     58   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PartListElement>> {
   65         -
    let input = match input.parts {
   66         -
        ::std::option::Option::None => return ::std::option::Option::None,
   67         -
        ::std::option::Option::Some(t) => t,
   68         -
    };
          59  +
    let input = input.parts?;
   69     60   
    ::std::option::Option::Some(input)
   70     61   
}
   71     62   
   72     63   
pub(crate) fn lens_list_vaults_output_output_vault_list(
   73     64   
    input: crate::operation::list_vaults::ListVaultsOutput,
   74     65   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DescribeVaultOutput>> {
   75         -
    let input = match input.vault_list {
   76         -
        ::std::option::Option::None => return ::std::option::Option::None,
   77         -
        ::std::option::Option::Some(t) => t,
   78         -
    };
          66  +
    let input = input.vault_list?;
   79     67   
    ::std::option::Option::Some(input)
   80     68   
}

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

@@ -1,1 +130,130 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-iam"
    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 Identity and Access Management"
    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   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23     23   
version = "1.5.7"
   24     24   
   25     25   
[dependencies.aws-smithy-async]
   26     26   
path = "../aws-smithy-async"
   27     27   
version = "1.2.5"
   28     28   
   29     29   
[dependencies.aws-smithy-http]
   30     30   
path = "../aws-smithy-http"
   31     31   
version = "0.62.1"
   32     32   
   33     33   
[dependencies.aws-smithy-json]
   34     34   
path = "../aws-smithy-json"
   35     35   
version = "0.61.3"
   36     36   
   37     37   
[dependencies.aws-smithy-query]
   38     38   
path = "../aws-smithy-query"
   39     39   
version = "0.60.7"
   40     40   
   41     41   
[dependencies.aws-smithy-runtime]
   42     42   
path = "../aws-smithy-runtime"
   43     43   
features = ["client"]
   44     44   
version = "1.8.3"
   45     45   
   46     46   
[dependencies.aws-smithy-runtime-api]
   47     47   
path = "../aws-smithy-runtime-api"
   48     48   
features = ["client", "http-02x"]
   49     49   
version = "1.8.0"
   50     50   
   51     51   
[dependencies.aws-smithy-types]
   52     52   
path = "../aws-smithy-types"
   53     53   
version = "1.3.1"
   54     54   
   55     55   
[dependencies.aws-smithy-xml]
   56     56   
path = "../aws-smithy-xml"
   57         -
version = "0.60.9"
          57  +
version = "0.60.10"
   58     58   
   59     59   
[dependencies.aws-types]
   60     60   
path = "../aws-types"
   61     61   
version = "1.3.7"
   62     62   
   63     63   
[dependencies.fastrand]
   64     64   
version = "2.0.0"
   65     65   
   66     66   
[dependencies.http]
   67     67   
version = "0.2.9"
   68     68   
   69     69   
[dependencies.regex-lite]
   70     70   
version = "0.1.5"
   71     71   
   72     72   
[dependencies.tracing]
   73     73   
version = "0.1"
   74     74   
[dev-dependencies.aws-config]
   75     75   
path = "../aws-config"
   76         -
version = "1.6.3"
          76  +
version = "1.6.4"
   77     77   
   78     78   
[dev-dependencies.aws-credential-types]
   79     79   
path = "../aws-credential-types"
   80     80   
features = ["test-util"]
   81     81   
version = "1.2.3"
   82     82   
   83     83   
[dev-dependencies.aws-runtime]
   84     84   
path = "../aws-runtime"
   85     85   
features = ["test-util"]
   86     86   
version = "1.5.7"
   87     87   
   88     88   
[dev-dependencies.aws-smithy-async]
   89     89   
path = "../aws-smithy-async"
   90     90   
features = ["test-util"]
   91     91   
version = "1.2.5"
   92     92   
   93     93   
[dev-dependencies.aws-smithy-http-client]
   94     94   
path = "../aws-smithy-http-client"
   95     95   
features = ["test-util", "wire-mock"]
   96         -
version = "1.0.3"
          96  +
version = "1.0.4"
   97     97   
   98     98   
[dev-dependencies.aws-smithy-protocol-test]
   99     99   
path = "../aws-smithy-protocol-test"
  100         -
version = "0.63.2"
         100  +
version = "0.63.3"
  101    101   
  102    102   
[dev-dependencies.aws-smithy-runtime]
  103    103   
path = "../aws-smithy-runtime"
  104    104   
features = ["test-util"]
  105    105   
version = "1.8.3"
  106    106   
  107    107   
[dev-dependencies.aws-smithy-runtime-api]
  108    108   
path = "../aws-smithy-runtime-api"
  109    109   
features = ["test-util"]
  110    110   
version = "1.8.0"

tmp-codegen-diff/aws-sdk/sdk/iam/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_iam`.
  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_iam::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_iam::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_iam::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_iam`.
         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_iam::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_iam::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_iam::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_iam::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_iam::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_iam::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_iam::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_iam::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_iam::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_iam::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_iam::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_iam::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_iam::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_iam::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_iam::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_iam::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/iam/src/lens.rs

@@ -336,336 +419,410 @@
  356    356   
pub(crate) fn lens_list_account_aliases_output_output_account_aliases(
  357    357   
    input: crate::operation::list_account_aliases::ListAccountAliasesOutput,
  358    358   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  359    359   
    let input = input.account_aliases;
  360    360   
    ::std::option::Option::Some(input)
  361    361   
}
  362    362   
  363    363   
pub(crate) fn lens_list_attached_group_policies_output_output_attached_policies(
  364    364   
    input: crate::operation::list_attached_group_policies::ListAttachedGroupPoliciesOutput,
  365    365   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AttachedPolicy>> {
  366         -
    let input = match input.attached_policies {
  367         -
        ::std::option::Option::None => return ::std::option::Option::None,
  368         -
        ::std::option::Option::Some(t) => t,
  369         -
    };
         366  +
    let input = input.attached_policies?;
  370    367   
    ::std::option::Option::Some(input)
  371    368   
}
  372    369   
  373    370   
pub(crate) fn lens_list_attached_role_policies_output_output_attached_policies(
  374    371   
    input: crate::operation::list_attached_role_policies::ListAttachedRolePoliciesOutput,
  375    372   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AttachedPolicy>> {
  376         -
    let input = match input.attached_policies {
  377         -
        ::std::option::Option::None => return ::std::option::Option::None,
  378         -
        ::std::option::Option::Some(t) => t,
  379         -
    };
         373  +
    let input = input.attached_policies?;
  380    374   
    ::std::option::Option::Some(input)
  381    375   
}
  382    376   
  383    377   
pub(crate) fn lens_list_attached_user_policies_output_output_attached_policies(
  384    378   
    input: crate::operation::list_attached_user_policies::ListAttachedUserPoliciesOutput,
  385    379   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AttachedPolicy>> {
  386         -
    let input = match input.attached_policies {
  387         -
        ::std::option::Option::None => return ::std::option::Option::None,
  388         -
        ::std::option::Option::Some(t) => t,
  389         -
    };
         380  +
    let input = input.attached_policies?;
  390    381   
    ::std::option::Option::Some(input)
  391    382   
}
  392    383   
  393    384   
pub(crate) fn lens_list_group_policies_output_output_policy_names(
  394    385   
    input: crate::operation::list_group_policies::ListGroupPoliciesOutput,
  395    386   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  396    387   
    let input = input.policy_names;
  397    388   
    ::std::option::Option::Some(input)
  398    389   
}
  399    390   
@@ -429,420 +588,564 @@
  449    440   
pub(crate) fn lens_list_open_id_connect_provider_tags_output_output_tags(
  450    441   
    input: crate::operation::list_open_id_connect_provider_tags::ListOpenIdConnectProviderTagsOutput,
  451    442   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  452    443   
    let input = input.tags;
  453    444   
    ::std::option::Option::Some(input)
  454    445   
}
  455    446   
  456    447   
pub(crate) fn lens_list_policies_output_output_policies(
  457    448   
    input: crate::operation::list_policies::ListPoliciesOutput,
  458    449   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Policy>> {
  459         -
    let input = match input.policies {
  460         -
        ::std::option::Option::None => return ::std::option::Option::None,
  461         -
        ::std::option::Option::Some(t) => t,
  462         -
    };
         450  +
    let input = input.policies?;
  463    451   
    ::std::option::Option::Some(input)
  464    452   
}
  465    453   
  466    454   
pub(crate) fn lens_list_policy_tags_output_output_tags(
  467    455   
    input: crate::operation::list_policy_tags::ListPolicyTagsOutput,
  468    456   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  469    457   
    let input = input.tags;
  470    458   
    ::std::option::Option::Some(input)
  471    459   
}
  472    460   
  473    461   
pub(crate) fn lens_list_policy_versions_output_output_versions(
  474    462   
    input: crate::operation::list_policy_versions::ListPolicyVersionsOutput,
  475    463   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PolicyVersion>> {
  476         -
    let input = match input.versions {
  477         -
        ::std::option::Option::None => return ::std::option::Option::None,
  478         -
        ::std::option::Option::Some(t) => t,
  479         -
    };
         464  +
    let input = input.versions?;
  480    465   
    ::std::option::Option::Some(input)
  481    466   
}
  482    467   
  483    468   
pub(crate) fn lens_list_role_policies_output_output_policy_names(
  484    469   
    input: crate::operation::list_role_policies::ListRolePoliciesOutput,
  485    470   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  486    471   
    let input = input.policy_names;
  487    472   
    ::std::option::Option::Some(input)
  488    473   
}
  489    474   
  490    475   
pub(crate) fn lens_list_role_tags_output_output_tags(
  491    476   
    input: crate::operation::list_role_tags::ListRoleTagsOutput,
  492    477   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  493    478   
    let input = input.tags;
  494    479   
    ::std::option::Option::Some(input)
  495    480   
}
  496    481   
  497    482   
pub(crate) fn lens_list_roles_output_output_roles(
  498    483   
    input: crate::operation::list_roles::ListRolesOutput,
  499    484   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Role>> {
  500    485   
    let input = input.roles;
  501    486   
    ::std::option::Option::Some(input)
  502    487   
}
  503    488   
  504    489   
pub(crate) fn lens_list_saml_provider_tags_output_output_tags(
  505    490   
    input: crate::operation::list_saml_provider_tags::ListSamlProviderTagsOutput,
  506    491   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  507    492   
    let input = input.tags;
  508    493   
    ::std::option::Option::Some(input)
  509    494   
}
  510    495   
  511    496   
pub(crate) fn lens_list_server_certificate_tags_output_output_tags(
  512    497   
    input: crate::operation::list_server_certificate_tags::ListServerCertificateTagsOutput,
  513    498   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  514    499   
    let input = input.tags;
  515    500   
    ::std::option::Option::Some(input)
  516    501   
}
  517    502   
  518    503   
pub(crate) fn lens_list_server_certificates_output_output_server_certificate_metadata_list(
  519    504   
    input: crate::operation::list_server_certificates::ListServerCertificatesOutput,
  520    505   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ServerCertificateMetadata>> {
  521    506   
    let input = input.server_certificate_metadata_list;
  522    507   
    ::std::option::Option::Some(input)
  523    508   
}
  524    509   
  525    510   
pub(crate) fn lens_list_signing_certificates_output_output_certificates(
  526    511   
    input: crate::operation::list_signing_certificates::ListSigningCertificatesOutput,
  527    512   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SigningCertificate>> {
  528    513   
    let input = input.certificates;
  529    514   
    ::std::option::Option::Some(input)
  530    515   
}
  531    516   
  532    517   
pub(crate) fn lens_list_ssh_public_keys_output_output_ssh_public_keys(
  533    518   
    input: crate::operation::list_ssh_public_keys::ListSshPublicKeysOutput,
  534    519   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SshPublicKeyMetadata>> {
  535         -
    let input = match input.ssh_public_keys {
  536         -
        ::std::option::Option::None => return ::std::option::Option::None,
  537         -
        ::std::option::Option::Some(t) => t,
  538         -
    };
         520  +
    let input = input.ssh_public_keys?;
  539    521   
    ::std::option::Option::Some(input)
  540    522   
}
  541    523   
  542    524   
pub(crate) fn lens_list_user_policies_output_output_policy_names(
  543    525   
    input: crate::operation::list_user_policies::ListUserPoliciesOutput,
  544    526   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  545    527   
    let input = input.policy_names;
  546    528   
    ::std::option::Option::Some(input)
  547    529   
}
  548    530   
  549    531   
pub(crate) fn lens_list_user_tags_output_output_tags(
  550    532   
    input: crate::operation::list_user_tags::ListUserTagsOutput,
  551    533   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  552    534   
    let input = input.tags;
  553    535   
    ::std::option::Option::Some(input)
  554    536   
}
  555    537   
  556    538   
pub(crate) fn lens_list_users_output_output_users(
  557    539   
    input: crate::operation::list_users::ListUsersOutput,
  558    540   
) -> ::std::option::Option<::std::vec::Vec<crate::types::User>> {
  559    541   
    let input = input.users;
  560    542   
    ::std::option::Option::Some(input)
  561    543   
}
  562    544   
  563    545   
pub(crate) fn lens_list_virtual_mfa_devices_output_output_virtual_mfa_devices(
  564    546   
    input: crate::operation::list_virtual_mfa_devices::ListVirtualMfaDevicesOutput,
  565    547   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VirtualMfaDevice>> {
  566    548   
    let input = input.virtual_mfa_devices;
  567    549   
    ::std::option::Option::Some(input)
  568    550   
}
  569    551   
  570    552   
pub(crate) fn lens_simulate_custom_policy_output_output_evaluation_results(
  571    553   
    input: crate::operation::simulate_custom_policy::SimulateCustomPolicyOutput,
  572    554   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EvaluationResult>> {
  573         -
    let input = match input.evaluation_results {
  574         -
        ::std::option::Option::None => return ::std::option::Option::None,
  575         -
        ::std::option::Option::Some(t) => t,
  576         -
    };
         555  +
    let input = input.evaluation_results?;
  577    556   
    ::std::option::Option::Some(input)
  578    557   
}
  579    558   
  580    559   
pub(crate) fn lens_simulate_principal_policy_output_output_evaluation_results(
  581    560   
    input: crate::operation::simulate_principal_policy::SimulatePrincipalPolicyOutput,
  582    561   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EvaluationResult>> {
  583         -
    let input = match input.evaluation_results {
  584         -
        ::std::option::Option::None => return ::std::option::Option::None,
  585         -
        ::std::option::Option::Some(t) => t,
  586         -
    };
         562  +
    let input = input.evaluation_results?;
  587    563   
    ::std::option::Option::Some(input)
  588    564   
}

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

@@ -1,1 +125,125 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-kms"
    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 Key Management 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   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23     23   
version = "1.5.7"
   24     24   
   25     25   
[dependencies.aws-smithy-async]
   26     26   
path = "../aws-smithy-async"
   27     27   
version = "1.2.5"
   28     28   
   29     29   
[dependencies.aws-smithy-http]
   30     30   
path = "../aws-smithy-http"
   31     31   
version = "0.62.1"
   32     32   
   33     33   
[dependencies.aws-smithy-json]
   34     34   
path = "../aws-smithy-json"
   35     35   
version = "0.61.3"
   36     36   
   37     37   
[dependencies.aws-smithy-runtime]
   38     38   
path = "../aws-smithy-runtime"
   39     39   
features = ["client"]
   40     40   
version = "1.8.3"
   41     41   
   42     42   
[dependencies.aws-smithy-runtime-api]
   43     43   
path = "../aws-smithy-runtime-api"
   44     44   
features = ["client", "http-02x"]
   45     45   
version = "1.8.0"
   46     46   
   47     47   
[dependencies.aws-smithy-types]
   48     48   
path = "../aws-smithy-types"
   49     49   
version = "1.3.1"
   50     50   
   51     51   
[dependencies.aws-types]
   52     52   
path = "../aws-types"
   53     53   
version = "1.3.7"
   54     54   
   55     55   
[dependencies.bytes]
   56     56   
version = "1.4.0"
   57     57   
   58     58   
[dependencies.fastrand]
   59     59   
version = "2.0.0"
   60     60   
   61     61   
[dependencies.http]
   62     62   
version = "0.2.9"
   63     63   
   64     64   
[dependencies.regex-lite]
   65     65   
version = "0.1.5"
   66     66   
   67     67   
[dependencies.tracing]
   68     68   
version = "0.1"
   69     69   
[dev-dependencies.aws-config]
   70     70   
path = "../aws-config"
   71         -
version = "1.6.3"
          71  +
version = "1.6.4"
   72     72   
   73     73   
[dev-dependencies.aws-credential-types]
   74     74   
path = "../aws-credential-types"
   75     75   
features = ["test-util"]
   76     76   
version = "1.2.3"
   77     77   
   78     78   
[dev-dependencies.aws-runtime]
   79     79   
path = "../aws-runtime"
   80     80   
features = ["test-util"]
   81     81   
version = "1.5.7"
   82     82   
   83     83   
[dev-dependencies.aws-smithy-async]
   84     84   
path = "../aws-smithy-async"
   85     85   
features = ["test-util"]
   86     86   
version = "1.2.5"
   87     87   
   88     88   
[dev-dependencies.aws-smithy-http-client]
   89     89   
path = "../aws-smithy-http-client"
   90     90   
features = ["test-util", "wire-mock"]
   91         -
version = "1.0.3"
          91  +
version = "1.0.4"
   92     92   
   93     93   
[dev-dependencies.aws-smithy-protocol-test]
   94     94   
path = "../aws-smithy-protocol-test"
   95         -
version = "0.63.2"
          95  +
version = "0.63.3"
   96     96   
   97     97   
[dev-dependencies.aws-smithy-runtime]
   98     98   
path = "../aws-smithy-runtime"
   99     99   
features = ["test-util"]
  100    100   
version = "1.8.3"
  101    101   
  102    102   
[dev-dependencies.aws-smithy-runtime-api]
  103    103   
path = "../aws-smithy-runtime-api"
  104    104   
features = ["test-util"]
  105    105   
version = "1.8.0"

tmp-codegen-diff/aws-sdk/sdk/kms/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_kms`.
  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_kms::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_kms::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_kms::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_kms`.
         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_kms::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_kms::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_kms::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_kms::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_kms::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_kms::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_kms::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_kms::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_kms::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_kms::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_kms::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_kms::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_kms::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_kms::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_kms::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_kms::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/kms/src/lens.rs

@@ -55,55 +160,136 @@
   75     75   
    let input = match &input.next_marker {
   76     76   
        ::std::option::Option::None => return ::std::option::Option::None,
   77     77   
        ::std::option::Option::Some(t) => t,
   78     78   
    };
   79     79   
    ::std::option::Option::Some(input)
   80     80   
}
   81     81   
   82     82   
pub(crate) fn lens_describe_custom_key_stores_output_output_custom_key_stores(
   83     83   
    input: crate::operation::describe_custom_key_stores::DescribeCustomKeyStoresOutput,
   84     84   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CustomKeyStoresListEntry>> {
   85         -
    let input = match input.custom_key_stores {
   86         -
        ::std::option::Option::None => return ::std::option::Option::None,
   87         -
        ::std::option::Option::Some(t) => t,
   88         -
    };
          85  +
    let input = input.custom_key_stores?;
   89     86   
    ::std::option::Option::Some(input)
   90     87   
}
   91     88   
   92     89   
pub(crate) fn lens_list_aliases_output_output_aliases(
   93     90   
    input: crate::operation::list_aliases::ListAliasesOutput,
   94     91   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AliasListEntry>> {
   95         -
    let input = match input.aliases {
   96         -
        ::std::option::Option::None => return ::std::option::Option::None,
   97         -
        ::std::option::Option::Some(t) => t,
   98         -
    };
          92  +
    let input = input.aliases?;
   99     93   
    ::std::option::Option::Some(input)
  100     94   
}
  101     95   
  102     96   
pub(crate) fn lens_list_grants_output_output_grants(
  103     97   
    input: crate::operation::list_grants::ListGrantsOutput,
  104     98   
) -> ::std::option::Option<::std::vec::Vec<crate::types::GrantListEntry>> {
  105         -
    let input = match input.grants {
  106         -
        ::std::option::Option::None => return ::std::option::Option::None,
  107         -
        ::std::option::Option::Some(t) => t,
  108         -
    };
          99  +
    let input = input.grants?;
  109    100   
    ::std::option::Option::Some(input)
  110    101   
}
  111    102   
  112    103   
pub(crate) fn lens_list_key_policies_output_output_policy_names(
  113    104   
    input: crate::operation::list_key_policies::ListKeyPoliciesOutput,
  114    105   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  115         -
    let input = match input.policy_names {
  116         -
        ::std::option::Option::None => return ::std::option::Option::None,
  117         -
        ::std::option::Option::Some(t) => t,
  118         -
    };
         106  +
    let input = input.policy_names?;
  119    107   
    ::std::option::Option::Some(input)
  120    108   
}
  121    109   
  122    110   
pub(crate) fn lens_list_key_rotations_output_output_rotations(
  123    111   
    input: crate::operation::list_key_rotations::ListKeyRotationsOutput,
  124    112   
) -> ::std::option::Option<::std::vec::Vec<crate::types::RotationsListEntry>> {
  125         -
    let input = match input.rotations {
  126         -
        ::std::option::Option::None => return ::std::option::Option::None,
  127         -
        ::std::option::Option::Some(t) => t,
  128         -
    };
         113  +
    let input = input.rotations?;
  129    114   
    ::std::option::Option::Some(input)
  130    115   
}
  131    116   
  132    117   
pub(crate) fn lens_list_keys_output_output_keys(
  133    118   
    input: crate::operation::list_keys::ListKeysOutput,
  134    119   
) -> ::std::option::Option<::std::vec::Vec<crate::types::KeyListEntry>> {
  135         -
    let input = match input.keys {
  136         -
        ::std::option::Option::None => return ::std::option::Option::None,
  137         -
        ::std::option::Option::Some(t) => t,
  138         -
    };
         120  +
    let input = input.keys?;
  139    121   
    ::std::option::Option::Some(input)
  140    122   
}
  141    123   
  142    124   
pub(crate) fn lens_list_resource_tags_output_output_tags(
  143    125   
    input: crate::operation::list_resource_tags::ListResourceTagsOutput,
  144    126   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  145         -
    let input = match input.tags {
  146         -
        ::std::option::Option::None => return ::std::option::Option::None,
  147         -
        ::std::option::Option::Some(t) => t,
  148         -
    };
         127  +
    let input = input.tags?;
  149    128   
    ::std::option::Option::Some(input)
  150    129   
}
  151    130   
  152    131   
pub(crate) fn lens_list_retirable_grants_output_output_grants(
  153    132   
    input: crate::operation::list_retirable_grants::ListRetirableGrantsOutput,
  154    133   
) -> ::std::option::Option<::std::vec::Vec<crate::types::GrantListEntry>> {
  155         -
    let input = match input.grants {
  156         -
        ::std::option::Option::None => return ::std::option::Option::None,
  157         -
        ::std::option::Option::Some(t) => t,
  158         -
    };
         134  +
    let input = input.grants?;
  159    135   
    ::std::option::Option::Some(input)
  160    136   
}

tmp-codegen-diff/aws-sdk/sdk/lambda/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-lambda"
    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 Lambda"
    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   
@@ -47,47 +136,136 @@
   67     67   
[dependencies.http]
   68     68   
version = "0.2.9"
   69     69   
   70     70   
[dependencies.regex-lite]
   71     71   
version = "0.1.5"
   72     72   
   73     73   
[dependencies.tracing]
   74     74   
version = "0.1"
   75     75   
[dev-dependencies.aws-config]
   76     76   
path = "../aws-config"
   77         -
version = "1.6.3"
          77  +
version = "1.6.4"
   78     78   
   79     79   
[dev-dependencies.aws-credential-types]
   80     80   
path = "../aws-credential-types"
   81     81   
features = ["test-util"]
   82     82   
version = "1.2.3"
   83     83   
   84     84   
[dev-dependencies.aws-runtime]
   85     85   
path = "../aws-runtime"
   86     86   
features = ["test-util"]
   87     87   
version = "1.5.7"
   88     88   
   89     89   
[dev-dependencies.aws-smithy-async]
   90     90   
path = "../aws-smithy-async"
   91     91   
features = ["test-util"]
   92     92   
version = "1.2.5"
   93     93   
   94     94   
[dev-dependencies.aws-smithy-eventstream]
   95     95   
path = "../aws-smithy-eventstream"
   96     96   
features = ["test-util"]
   97     97   
version = "0.60.8"
   98     98   
   99     99   
[dev-dependencies.aws-smithy-http-client]
  100    100   
path = "../aws-smithy-http-client"
  101    101   
features = ["test-util", "wire-mock"]
  102         -
version = "1.0.3"
         102  +
version = "1.0.4"
  103    103   
  104    104   
[dev-dependencies.aws-smithy-protocol-test]
  105    105   
path = "../aws-smithy-protocol-test"
  106         -
version = "0.63.2"
         106  +
version = "0.63.3"
  107    107   
  108    108   
[dev-dependencies.aws-smithy-runtime]
  109    109   
path = "../aws-smithy-runtime"
  110    110   
features = ["test-util"]
  111    111   
version = "1.8.3"
  112    112   
  113    113   
[dev-dependencies.aws-smithy-runtime-api]
  114    114   
path = "../aws-smithy-runtime-api"
  115    115   
features = ["test-util"]
  116    116   
version = "1.8.0"

tmp-codegen-diff/aws-sdk/sdk/lambda/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_lambda`.
  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_lambda::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_lambda::Config::builder().endpoint_resolver(resolver).build();
  288    288   
    /// let client = aws_sdk_lambda::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_lambda`.
         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_lambda::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_lambda::config::IdentityCache;
  527    528   
    ///
  528    529   
    /// let config = aws_sdk_lambda::Config::builder()
  529    530   
    ///     .identity_cache(IdentityCache::no_cache())
  530    531   
    ///     // ...
  531    532   
    ///     .build();
  532    533   
    /// let client = aws_sdk_lambda::Client::from_conf(config);
  533    534   
    /// ```
  534    535   
    ///
  535    536   
    /// Customizing lazy caching:
  536    537   
    /// ```no_run
  537    538   
    /// use aws_sdk_lambda::config::IdentityCache;
  538    539   
    /// use std::time::Duration;
  539    540   
    ///
  540    541   
    /// let config = aws_sdk_lambda::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_lambda::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_lambda::config::BehaviorVersion;
  998    999   
    ///
  999   1000   
    /// let config = aws_sdk_lambda::Config::builder()
 1000   1001   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1001   1002   
    ///     // ...
 1002   1003   
    ///     .build();
 1003   1004   
    /// let client = aws_sdk_lambda::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_lambda::config::BehaviorVersion;
 1022   1023   
    ///
 1023   1024   
    /// let config = aws_sdk_lambda::Config::builder()
 1024   1025   
    ///     .behavior_version(BehaviorVersion::latest())
 1025   1026   
    ///     // ...
 1026   1027   
    ///     .build();
 1027   1028   
    /// let client = aws_sdk_lambda::Client::from_conf(config);
 1028   1029   
    /// ```
 1029   1030   
    ///
 1030   1031   
    /// Customizing behavior major version:
 1031   1032   
    /// ```no_run
 1032   1033   
    /// use aws_sdk_lambda::config::BehaviorVersion;
 1033   1034   
    ///
 1034   1035   
    /// let config = aws_sdk_lambda::Config::builder()
 1035   1036   
    ///     .behavior_version(BehaviorVersion::v2023_11_09())
 1036   1037   
    ///     // ...
 1037   1038   
    ///     .build();
 1038   1039   
    /// let client = aws_sdk_lambda::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/lambda/src/lens.rs

@@ -85,85 +217,187 @@
  105    105   
    let input = match &input.next_marker {
  106    106   
        ::std::option::Option::None => return ::std::option::Option::None,
  107    107   
        ::std::option::Option::Some(t) => t,
  108    108   
    };
  109    109   
    ::std::option::Option::Some(input)
  110    110   
}
  111    111   
  112    112   
pub(crate) fn lens_list_aliases_output_output_aliases(
  113    113   
    input: crate::operation::list_aliases::ListAliasesOutput,
  114    114   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AliasConfiguration>> {
  115         -
    let input = match input.aliases {
  116         -
        ::std::option::Option::None => return ::std::option::Option::None,
  117         -
        ::std::option::Option::Some(t) => t,
  118         -
    };
         115  +
    let input = input.aliases?;
  119    116   
    ::std::option::Option::Some(input)
  120    117   
}
  121    118   
  122    119   
pub(crate) fn lens_list_code_signing_configs_output_output_code_signing_configs(
  123    120   
    input: crate::operation::list_code_signing_configs::ListCodeSigningConfigsOutput,
  124    121   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CodeSigningConfig>> {
  125         -
    let input = match input.code_signing_configs {
  126         -
        ::std::option::Option::None => return ::std::option::Option::None,
  127         -
        ::std::option::Option::Some(t) => t,
  128         -
    };
         122  +
    let input = input.code_signing_configs?;
  129    123   
    ::std::option::Option::Some(input)
  130    124   
}
  131    125   
  132    126   
pub(crate) fn lens_list_event_source_mappings_output_output_event_source_mappings(
  133    127   
    input: crate::operation::list_event_source_mappings::ListEventSourceMappingsOutput,
  134    128   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EventSourceMappingConfiguration>> {
  135         -
    let input = match input.event_source_mappings {
  136         -
        ::std::option::Option::None => return ::std::option::Option::None,
  137         -
        ::std::option::Option::Some(t) => t,
  138         -
    };
         129  +
    let input = input.event_source_mappings?;
  139    130   
    ::std::option::Option::Some(input)
  140    131   
}
  141    132   
  142    133   
pub(crate) fn lens_list_function_event_invoke_configs_output_output_function_event_invoke_configs(
  143    134   
    input: crate::operation::list_function_event_invoke_configs::ListFunctionEventInvokeConfigsOutput,
  144    135   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FunctionEventInvokeConfig>> {
  145         -
    let input = match input.function_event_invoke_configs {
  146         -
        ::std::option::Option::None => return ::std::option::Option::None,
  147         -
        ::std::option::Option::Some(t) => t,
  148         -
    };
         136  +
    let input = input.function_event_invoke_configs?;
  149    137   
    ::std::option::Option::Some(input)
  150    138   
}
  151    139   
  152    140   
pub(crate) fn lens_list_function_url_configs_output_output_function_url_configs(
  153    141   
    input: crate::operation::list_function_url_configs::ListFunctionUrlConfigsOutput,
  154    142   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FunctionUrlConfig>> {
  155    143   
    let input = input.function_url_configs;
  156    144   
    ::std::option::Option::Some(input)
  157    145   
}
  158    146   
  159    147   
pub(crate) fn lens_list_functions_output_output_functions(
  160    148   
    input: crate::operation::list_functions::ListFunctionsOutput,
  161    149   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FunctionConfiguration>> {
  162         -
    let input = match input.functions {
  163         -
        ::std::option::Option::None => return ::std::option::Option::None,
  164         -
        ::std::option::Option::Some(t) => t,
  165         -
    };
         150  +
    let input = input.functions?;
  166    151   
    ::std::option::Option::Some(input)
  167    152   
}
  168    153   
  169    154   
pub(crate) fn lens_list_functions_by_code_signing_config_output_output_function_arns(
  170    155   
    input: crate::operation::list_functions_by_code_signing_config::ListFunctionsByCodeSigningConfigOutput,
  171    156   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  172         -
    let input = match input.function_arns {
  173         -
        ::std::option::Option::None => return ::std::option::Option::None,
  174         -
        ::std::option::Option::Some(t) => t,
  175         -
    };
         157  +
    let input = input.function_arns?;
  176    158   
    ::std::option::Option::Some(input)
  177    159   
}
  178    160   
  179    161   
pub(crate) fn lens_list_layer_versions_output_output_layer_versions(
  180    162   
    input: crate::operation::list_layer_versions::ListLayerVersionsOutput,
  181    163   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LayerVersionsListItem>> {
  182         -
    let input = match input.layer_versions {
  183         -
        ::std::option::Option::None => return ::std::option::Option::None,
  184         -
        ::std::option::Option::Some(t) => t,
  185         -
    };
         164  +
    let input = input.layer_versions?;
  186    165   
    ::std::option::Option::Some(input)
  187    166   
}
  188    167   
  189    168   
pub(crate) fn lens_list_layers_output_output_layers(
  190    169   
    input: crate::operation::list_layers::ListLayersOutput,
  191    170   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LayersListItem>> {
  192         -
    let input = match input.layers {
  193         -
        ::std::option::Option::None => return ::std::option::Option::None,
  194         -
        ::std::option::Option::Some(t) => t,
  195         -
    };
         171  +
    let input = input.layers?;
  196    172   
    ::std::option::Option::Some(input)
  197    173   
}
  198    174   
  199    175   
pub(crate) fn lens_list_provisioned_concurrency_configs_output_output_provisioned_concurrency_configs(
  200    176   
    input: crate::operation::list_provisioned_concurrency_configs::ListProvisionedConcurrencyConfigsOutput,
  201    177   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ProvisionedConcurrencyConfigListItem>> {
  202         -
    let input = match input.provisioned_concurrency_configs {
  203         -
        ::std::option::Option::None => return ::std::option::Option::None,
  204         -
        ::std::option::Option::Some(t) => t,
  205         -
    };
         178  +
    let input = input.provisioned_concurrency_configs?;
  206    179   
    ::std::option::Option::Some(input)
  207    180   
}
  208    181   
  209    182   
pub(crate) fn lens_list_versions_by_function_output_output_versions(
  210    183   
    input: crate::operation::list_versions_by_function::ListVersionsByFunctionOutput,
  211    184   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FunctionConfiguration>> {
  212         -
    let input = match input.versions {
  213         -
        ::std::option::Option::None => return ::std::option::Option::None,
  214         -
        ::std::option::Option::Some(t) => t,
  215         -
    };
         185  +
    let input = input.versions?;
  216    186   
    ::std::option::Option::Some(input)
  217    187   
}

tmp-codegen-diff/aws-sdk/sdk/polly/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-polly"
    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 Polly"
    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   
@@ -54,54 +138,138 @@
   74     74   
optional = true
   75     75   
package = "http-body"
   76     76   
   77     77   
[dependencies.regex-lite]
   78     78   
version = "0.1.5"
   79     79   
   80     80   
[dependencies.tracing]
   81     81   
version = "0.1"
   82     82   
[dev-dependencies.aws-config]
   83     83   
path = "../aws-config"
   84         -
version = "1.6.3"
          84  +
version = "1.6.4"
   85     85   
   86     86   
[dev-dependencies.aws-credential-types]
   87     87   
path = "../aws-credential-types"
   88     88   
features = ["test-util"]
   89     89   
version = "1.2.3"
   90     90   
   91     91   
[dev-dependencies.aws-runtime]
   92     92   
path = "../aws-runtime"
   93     93   
features = ["test-util"]
   94     94   
version = "1.5.7"
   95     95   
   96     96   
[dev-dependencies.aws-smithy-async]
   97     97   
path = "../aws-smithy-async"
   98     98   
features = ["test-util"]
   99     99   
version = "1.2.5"
  100    100   
  101    101   
[dev-dependencies.aws-smithy-http-client]
  102    102   
path = "../aws-smithy-http-client"
  103    103   
features = ["test-util", "wire-mock"]
  104         -
version = "1.0.3"
         104  +
version = "1.0.4"
  105    105   
  106    106   
[dev-dependencies.aws-smithy-protocol-test]
  107    107   
path = "../aws-smithy-protocol-test"
  108         -
version = "0.63.2"
         108  +
version = "0.63.3"
  109    109   
  110    110   
[dev-dependencies.aws-smithy-runtime]
  111    111   
path = "../aws-smithy-runtime"
  112    112   
features = ["test-util"]
  113    113   
version = "1.8.3"
  114    114   
  115    115   
[dev-dependencies.aws-smithy-runtime-api]
  116    116   
path = "../aws-smithy-runtime-api"
  117    117   
features = ["test-util"]
  118    118   
version = "1.8.0"