AWS SDK

AWS SDK

rev. 960037ddd6baa855c43528258ed60c279b45ae58

Files changed:

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

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

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

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

@@ -115,115 +270,231 @@
  135    135   
    let input = match &input.next_token {
  136    136   
        ::std::option::Option::None => return ::std::option::Option::None,
  137    137   
        ::std::option::Option::Some(t) => t,
  138    138   
    };
  139    139   
    ::std::option::Option::Some(input)
  140    140   
}
  141    141   
  142    142   
pub(crate) fn lens_describe_configuration_templates_output_output_configuration_templates(
  143    143   
    input: crate::operation::describe_configuration_templates::DescribeConfigurationTemplatesOutput,
  144    144   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConfigurationTemplate>> {
  145         -
    let input = match input.configuration_templates {
  146         -
        ::std::option::Option::None => return ::std::option::Option::None,
  147         -
        ::std::option::Option::Some(t) => t,
  148         -
    };
         145  +
    let input = input.configuration_templates?;
  149    146   
    ::std::option::Option::Some(input)
  150    147   
}
  151    148   
  152    149   
pub(crate) fn lens_describe_deliveries_output_output_deliveries(
  153    150   
    input: crate::operation::describe_deliveries::DescribeDeliveriesOutput,
  154    151   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Delivery>> {
  155         -
    let input = match input.deliveries {
  156         -
        ::std::option::Option::None => return ::std::option::Option::None,
  157         -
        ::std::option::Option::Some(t) => t,
  158         -
    };
         152  +
    let input = input.deliveries?;
  159    153   
    ::std::option::Option::Some(input)
  160    154   
}
  161    155   
  162    156   
pub(crate) fn lens_describe_delivery_destinations_output_output_delivery_destinations(
  163    157   
    input: crate::operation::describe_delivery_destinations::DescribeDeliveryDestinationsOutput,
  164    158   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DeliveryDestination>> {
  165         -
    let input = match input.delivery_destinations {
  166         -
        ::std::option::Option::None => return ::std::option::Option::None,
  167         -
        ::std::option::Option::Some(t) => t,
  168         -
    };
         159  +
    let input = input.delivery_destinations?;
  169    160   
    ::std::option::Option::Some(input)
  170    161   
}
  171    162   
  172    163   
pub(crate) fn lens_describe_delivery_sources_output_output_delivery_sources(
  173    164   
    input: crate::operation::describe_delivery_sources::DescribeDeliverySourcesOutput,
  174    165   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DeliverySource>> {
  175         -
    let input = match input.delivery_sources {
  176         -
        ::std::option::Option::None => return ::std::option::Option::None,
  177         -
        ::std::option::Option::Some(t) => t,
  178         -
    };
         166  +
    let input = input.delivery_sources?;
  179    167   
    ::std::option::Option::Some(input)
  180    168   
}
  181    169   
  182    170   
pub(crate) fn lens_describe_destinations_output_output_destinations(
  183    171   
    input: crate::operation::describe_destinations::DescribeDestinationsOutput,
  184    172   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Destination>> {
  185         -
    let input = match input.destinations {
  186         -
        ::std::option::Option::None => return ::std::option::Option::None,
  187         -
        ::std::option::Option::Some(t) => t,
  188         -
    };
         173  +
    let input = input.destinations?;
  189    174   
    ::std::option::Option::Some(input)
  190    175   
}
  191    176   
  192    177   
pub(crate) fn lens_describe_log_groups_output_output_log_groups(
  193    178   
    input: crate::operation::describe_log_groups::DescribeLogGroupsOutput,
  194    179   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LogGroup>> {
  195         -
    let input = match input.log_groups {
  196         -
        ::std::option::Option::None => return ::std::option::Option::None,
  197         -
        ::std::option::Option::Some(t) => t,
  198         -
    };
         180  +
    let input = input.log_groups?;
  199    181   
    ::std::option::Option::Some(input)
  200    182   
}
  201    183   
  202    184   
pub(crate) fn lens_describe_log_streams_output_output_log_streams(
  203    185   
    input: crate::operation::describe_log_streams::DescribeLogStreamsOutput,
  204    186   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LogStream>> {
  205         -
    let input = match input.log_streams {
  206         -
        ::std::option::Option::None => return ::std::option::Option::None,
  207         -
        ::std::option::Option::Some(t) => t,
  208         -
    };
         187  +
    let input = input.log_streams?;
  209    188   
    ::std::option::Option::Some(input)
  210    189   
}
  211    190   
  212    191   
pub(crate) fn lens_describe_metric_filters_output_output_metric_filters(
  213    192   
    input: crate::operation::describe_metric_filters::DescribeMetricFiltersOutput,
  214    193   
) -> ::std::option::Option<::std::vec::Vec<crate::types::MetricFilter>> {
  215         -
    let input = match input.metric_filters {
  216         -
        ::std::option::Option::None => return ::std::option::Option::None,
  217         -
        ::std::option::Option::Some(t) => t,
  218         -
    };
         194  +
    let input = input.metric_filters?;
  219    195   
    ::std::option::Option::Some(input)
  220    196   
}
  221    197   
  222    198   
pub(crate) fn lens_describe_subscription_filters_output_output_subscription_filters(
  223    199   
    input: crate::operation::describe_subscription_filters::DescribeSubscriptionFiltersOutput,
  224    200   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SubscriptionFilter>> {
  225         -
    let input = match input.subscription_filters {
  226         -
        ::std::option::Option::None => return ::std::option::Option::None,
  227         -
        ::std::option::Option::Some(t) => t,
  228         -
    };
         201  +
    let input = input.subscription_filters?;
  229    202   
    ::std::option::Option::Some(input)
  230    203   
}
  231    204   
  232    205   
pub(crate) fn lens_get_log_events_output_output_events(
  233    206   
    input: crate::operation::get_log_events::GetLogEventsOutput,
  234    207   
) -> ::std::option::Option<::std::vec::Vec<crate::types::OutputLogEvent>> {
  235         -
    let input = match input.events {
  236         -
        ::std::option::Option::None => return ::std::option::Option::None,
  237         -
        ::std::option::Option::Some(t) => t,
  238         -
    };
         208  +
    let input = input.events?;
  239    209   
    ::std::option::Option::Some(input)
  240    210   
}
  241    211   
  242    212   
pub(crate) fn lens_list_anomalies_output_output_anomalies(
  243    213   
    input: crate::operation::list_anomalies::ListAnomaliesOutput,
  244    214   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Anomaly>> {
  245         -
    let input = match input.anomalies {
  246         -
        ::std::option::Option::None => return ::std::option::Option::None,
  247         -
        ::std::option::Option::Some(t) => t,
  248         -
    };
         215  +
    let input = input.anomalies?;
  249    216   
    ::std::option::Option::Some(input)
  250    217   
}
  251    218   
  252    219   
pub(crate) fn lens_list_log_anomaly_detectors_output_output_anomaly_detectors(
  253    220   
    input: crate::operation::list_log_anomaly_detectors::ListLogAnomalyDetectorsOutput,
  254    221   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AnomalyDetector>> {
  255         -
    let input = match input.anomaly_detectors {
  256         -
        ::std::option::Option::None => return ::std::option::Option::None,
  257         -
        ::std::option::Option::Some(t) => t,
  258         -
    };
         222  +
    let input = input.anomaly_detectors?;
  259    223   
    ::std::option::Option::Some(input)
  260    224   
}
  261    225   
  262    226   
pub(crate) fn lens_list_log_groups_for_query_output_output_log_group_identifiers(
  263    227   
    input: crate::operation::list_log_groups_for_query::ListLogGroupsForQueryOutput,
  264    228   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  265         -
    let input = match input.log_group_identifiers {
  266         -
        ::std::option::Option::None => return ::std::option::Option::None,
  267         -
        ::std::option::Option::Some(t) => t,
  268         -
    };
         229  +
    let input = input.log_group_identifiers?;
  269    230   
    ::std::option::Option::Some(input)
  270    231   
}

tmp-codegen-diff/aws-sdk/sdk/codecatalyst/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-codecatalyst"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon CodeCatalyst"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   
   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", "http-auth"]
   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", "http-auth"]
   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/codecatalyst/src/config.rs

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

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

@@ -103,103 +185,170 @@
  123    123   
pub(crate) fn lens_list_event_logs_output_output_items(
  124    124   
    input: crate::operation::list_event_logs::ListEventLogsOutput,
  125    125   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EventLogEntry>> {
  126    126   
    let input = input.items;
  127    127   
    ::std::option::Option::Some(input)
  128    128   
}
  129    129   
  130    130   
pub(crate) fn lens_list_projects_output_output_items(
  131    131   
    input: crate::operation::list_projects::ListProjectsOutput,
  132    132   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ProjectSummary>> {
  133         -
    let input = match input.items {
  134         -
        ::std::option::Option::None => return ::std::option::Option::None,
  135         -
        ::std::option::Option::Some(t) => t,
  136         -
    };
         133  +
    let input = input.items?;
  137    134   
    ::std::option::Option::Some(input)
  138    135   
}
  139    136   
  140    137   
pub(crate) fn lens_list_source_repositories_output_output_items(
  141    138   
    input: crate::operation::list_source_repositories::ListSourceRepositoriesOutput,
  142    139   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ListSourceRepositoriesItem>> {
  143         -
    let input = match input.items {
  144         -
        ::std::option::Option::None => return ::std::option::Option::None,
  145         -
        ::std::option::Option::Some(t) => t,
  146         -
    };
         140  +
    let input = input.items?;
  147    141   
    ::std::option::Option::Some(input)
  148    142   
}
  149    143   
  150    144   
pub(crate) fn lens_list_source_repository_branches_output_output_items(
  151    145   
    input: crate::operation::list_source_repository_branches::ListSourceRepositoryBranchesOutput,
  152    146   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ListSourceRepositoryBranchesItem>> {
  153    147   
    let input = input.items;
  154    148   
    ::std::option::Option::Some(input)
  155    149   
}
  156    150   
  157    151   
pub(crate) fn lens_list_spaces_output_output_items(
  158    152   
    input: crate::operation::list_spaces::ListSpacesOutput,
  159    153   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpaceSummary>> {
  160         -
    let input = match input.items {
  161         -
        ::std::option::Option::None => return ::std::option::Option::None,
  162         -
        ::std::option::Option::Some(t) => t,
  163         -
    };
         154  +
    let input = input.items?;
  164    155   
    ::std::option::Option::Some(input)
  165    156   
}
  166    157   
  167    158   
pub(crate) fn lens_list_workflow_runs_output_output_items(
  168    159   
    input: crate::operation::list_workflow_runs::ListWorkflowRunsOutput,
  169    160   
) -> ::std::option::Option<::std::vec::Vec<crate::types::WorkflowRunSummary>> {
  170         -
    let input = match input.items {
  171         -
        ::std::option::Option::None => return ::std::option::Option::None,
  172         -
        ::std::option::Option::Some(t) => t,
  173         -
    };
         161  +
    let input = input.items?;
  174    162   
    ::std::option::Option::Some(input)
  175    163   
}
  176    164   
  177    165   
pub(crate) fn lens_list_workflows_output_output_items(
  178    166   
    input: crate::operation::list_workflows::ListWorkflowsOutput,
  179    167   
) -> ::std::option::Option<::std::vec::Vec<crate::types::WorkflowSummary>> {
  180         -
    let input = match input.items {
  181         -
        ::std::option::Option::None => return ::std::option::Option::None,
  182         -
        ::std::option::Option::Some(t) => t,
  183         -
    };
         168  +
    let input = input.items?;
  184    169   
    ::std::option::Option::Some(input)
  185    170   
}

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

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

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

@@ -375,375 +700,610 @@
  395    395   
    let input = match &input.next_token {
  396    396   
        ::std::option::Option::None => return ::std::option::Option::None,
  397    397   
        ::std::option::Option::Some(t) => t,
  398    398   
    };
  399    399   
    ::std::option::Option::Some(input)
  400    400   
}
  401    401   
  402    402   
pub(crate) fn lens_describe_aggregate_compliance_by_conformance_packs_output_output_aggregate_compliance_by_conformance_packs(
  403    403   
    input: crate::operation::describe_aggregate_compliance_by_conformance_packs::DescribeAggregateComplianceByConformancePacksOutput,
  404    404   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AggregateComplianceByConformancePack>> {
  405         -
    let input = match input.aggregate_compliance_by_conformance_packs {
  406         -
        ::std::option::Option::None => return ::std::option::Option::None,
  407         -
        ::std::option::Option::Some(t) => t,
  408         -
    };
         405  +
    let input = input.aggregate_compliance_by_conformance_packs?;
  409    406   
    ::std::option::Option::Some(input)
  410    407   
}
  411    408   
  412    409   
pub(crate) fn lens_describe_aggregation_authorizations_output_output_aggregation_authorizations(
  413    410   
    input: crate::operation::describe_aggregation_authorizations::DescribeAggregationAuthorizationsOutput,
  414    411   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AggregationAuthorization>> {
  415         -
    let input = match input.aggregation_authorizations {
  416         -
        ::std::option::Option::None => return ::std::option::Option::None,
  417         -
        ::std::option::Option::Some(t) => t,
  418         -
    };
         412  +
    let input = input.aggregation_authorizations?;
  419    413   
    ::std::option::Option::Some(input)
  420    414   
}
  421    415   
  422    416   
pub(crate) fn lens_describe_compliance_by_config_rule_output_output_compliance_by_config_rules(
  423    417   
    input: crate::operation::describe_compliance_by_config_rule::DescribeComplianceByConfigRuleOutput,
  424    418   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ComplianceByConfigRule>> {
  425         -
    let input = match input.compliance_by_config_rules {
  426         -
        ::std::option::Option::None => return ::std::option::Option::None,
  427         -
        ::std::option::Option::Some(t) => t,
  428         -
    };
         419  +
    let input = input.compliance_by_config_rules?;
  429    420   
    ::std::option::Option::Some(input)
  430    421   
}
  431    422   
  432    423   
pub(crate) fn lens_describe_compliance_by_resource_output_output_compliance_by_resources(
  433    424   
    input: crate::operation::describe_compliance_by_resource::DescribeComplianceByResourceOutput,
  434    425   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ComplianceByResource>> {
  435         -
    let input = match input.compliance_by_resources {
  436         -
        ::std::option::Option::None => return ::std::option::Option::None,
  437         -
        ::std::option::Option::Some(t) => t,
  438         -
    };
         426  +
    let input = input.compliance_by_resources?;
  439    427   
    ::std::option::Option::Some(input)
  440    428   
}
  441    429   
  442    430   
pub(crate) fn lens_describe_config_rule_evaluation_status_output_output_config_rules_evaluation_status(
  443    431   
    input: crate::operation::describe_config_rule_evaluation_status::DescribeConfigRuleEvaluationStatusOutput,
  444    432   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConfigRuleEvaluationStatus>> {
  445         -
    let input = match input.config_rules_evaluation_status {
  446         -
        ::std::option::Option::None => return ::std::option::Option::None,
  447         -
        ::std::option::Option::Some(t) => t,
  448         -
    };
         433  +
    let input = input.config_rules_evaluation_status?;
  449    434   
    ::std::option::Option::Some(input)
  450    435   
}
  451    436   
  452    437   
pub(crate) fn lens_describe_config_rules_output_output_config_rules(
  453    438   
    input: crate::operation::describe_config_rules::DescribeConfigRulesOutput,
  454    439   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConfigRule>> {
  455         -
    let input = match input.config_rules {
  456         -
        ::std::option::Option::None => return ::std::option::Option::None,
  457         -
        ::std::option::Option::Some(t) => t,
  458         -
    };
         440  +
    let input = input.config_rules?;
  459    441   
    ::std::option::Option::Some(input)
  460    442   
}
  461    443   
  462    444   
pub(crate) fn lens_describe_configuration_aggregator_sources_status_output_output_aggregated_source_status_list(
  463    445   
    input: crate::operation::describe_configuration_aggregator_sources_status::DescribeConfigurationAggregatorSourcesStatusOutput,
  464    446   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AggregatedSourceStatus>> {
  465         -
    let input = match input.aggregated_source_status_list {
  466         -
        ::std::option::Option::None => return ::std::option::Option::None,
  467         -
        ::std::option::Option::Some(t) => t,
  468         -
    };
         447  +
    let input = input.aggregated_source_status_list?;
  469    448   
    ::std::option::Option::Some(input)
  470    449   
}
  471    450   
  472    451   
pub(crate) fn lens_describe_configuration_aggregators_output_output_configuration_aggregators(
  473    452   
    input: crate::operation::describe_configuration_aggregators::DescribeConfigurationAggregatorsOutput,
  474    453   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConfigurationAggregator>> {
  475         -
    let input = match input.configuration_aggregators {
  476         -
        ::std::option::Option::None => return ::std::option::Option::None,
  477         -
        ::std::option::Option::Some(t) => t,
  478         -
    };
         454  +
    let input = input.configuration_aggregators?;
  479    455   
    ::std::option::Option::Some(input)
  480    456   
}
  481    457   
  482    458   
pub(crate) fn lens_describe_conformance_pack_status_output_output_conformance_pack_status_details(
  483    459   
    input: crate::operation::describe_conformance_pack_status::DescribeConformancePackStatusOutput,
  484    460   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConformancePackStatusDetail>> {
  485         -
    let input = match input.conformance_pack_status_details {
  486         -
        ::std::option::Option::None => return ::std::option::Option::None,
  487         -
        ::std::option::Option::Some(t) => t,
  488         -
    };
         461  +
    let input = input.conformance_pack_status_details?;
  489    462   
    ::std::option::Option::Some(input)
  490    463   
}
  491    464   
  492    465   
pub(crate) fn lens_describe_conformance_packs_output_output_conformance_pack_details(
  493    466   
    input: crate::operation::describe_conformance_packs::DescribeConformancePacksOutput,
  494    467   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConformancePackDetail>> {
  495         -
    let input = match input.conformance_pack_details {
  496         -
        ::std::option::Option::None => return ::std::option::Option::None,
  497         -
        ::std::option::Option::Some(t) => t,
  498         -
    };
         468  +
    let input = input.conformance_pack_details?;
  499    469   
    ::std::option::Option::Some(input)
  500    470   
}
  501    471   
  502    472   
pub(crate) fn lens_describe_organization_config_rule_statuses_output_output_organization_config_rule_statuses(
  503    473   
    input: crate::operation::describe_organization_config_rule_statuses::DescribeOrganizationConfigRuleStatusesOutput,
  504    474   
) -> ::std::option::Option<::std::vec::Vec<crate::types::OrganizationConfigRuleStatus>> {
  505         -
    let input = match input.organization_config_rule_statuses {
  506         -
        ::std::option::Option::None => return ::std::option::Option::None,
  507         -
        ::std::option::Option::Some(t) => t,
  508         -
    };
         475  +
    let input = input.organization_config_rule_statuses?;
  509    476   
    ::std::option::Option::Some(input)
  510    477   
}
  511    478   
  512    479   
pub(crate) fn lens_describe_organization_config_rules_output_output_organization_config_rules(
  513    480   
    input: crate::operation::describe_organization_config_rules::DescribeOrganizationConfigRulesOutput,
  514    481   
) -> ::std::option::Option<::std::vec::Vec<crate::types::OrganizationConfigRule>> {
  515         -
    let input = match input.organization_config_rules {
  516         -
        ::std::option::Option::None => return ::std::option::Option::None,
  517         -
        ::std::option::Option::Some(t) => t,
  518         -
    };
         482  +
    let input = input.organization_config_rules?;
  519    483   
    ::std::option::Option::Some(input)
  520    484   
}
  521    485   
  522    486   
pub(crate) fn lens_describe_organization_conformance_pack_statuses_output_output_organization_conformance_pack_statuses(
  523    487   
    input: crate::operation::describe_organization_conformance_pack_statuses::DescribeOrganizationConformancePackStatusesOutput,
  524    488   
) -> ::std::option::Option<::std::vec::Vec<crate::types::OrganizationConformancePackStatus>> {
  525         -
    let input = match input.organization_conformance_pack_statuses {
  526         -
        ::std::option::Option::None => return ::std::option::Option::None,
  527         -
        ::std::option::Option::Some(t) => t,
  528         -
    };
         489  +
    let input = input.organization_conformance_pack_statuses?;
  529    490   
    ::std::option::Option::Some(input)
  530    491   
}
  531    492   
  532    493   
pub(crate) fn lens_describe_organization_conformance_packs_output_output_organization_conformance_packs(
  533    494   
    input: crate::operation::describe_organization_conformance_packs::DescribeOrganizationConformancePacksOutput,
  534    495   
) -> ::std::option::Option<::std::vec::Vec<crate::types::OrganizationConformancePack>> {
  535         -
    let input = match input.organization_conformance_packs {
  536         -
        ::std::option::Option::None => return ::std::option::Option::None,
  537         -
        ::std::option::Option::Some(t) => t,
  538         -
    };
         496  +
    let input = input.organization_conformance_packs?;
  539    497   
    ::std::option::Option::Some(input)
  540    498   
}
  541    499   
  542    500   
pub(crate) fn lens_describe_pending_aggregation_requests_output_output_pending_aggregation_requests(
  543    501   
    input: crate::operation::describe_pending_aggregation_requests::DescribePendingAggregationRequestsOutput,
  544    502   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PendingAggregationRequest>> {
  545         -
    let input = match input.pending_aggregation_requests {
  546         -
        ::std::option::Option::None => return ::std::option::Option::None,
  547         -
        ::std::option::Option::Some(t) => t,
  548         -
    };
         503  +
    let input = input.pending_aggregation_requests?;
  549    504   
    ::std::option::Option::Some(input)
  550    505   
}
  551    506   
  552    507   
pub(crate) fn lens_describe_remediation_execution_status_output_output_remediation_execution_statuses(
  553    508   
    input: crate::operation::describe_remediation_execution_status::DescribeRemediationExecutionStatusOutput,
  554    509   
) -> ::std::option::Option<::std::vec::Vec<crate::types::RemediationExecutionStatus>> {
  555         -
    let input = match input.remediation_execution_statuses {
  556         -
        ::std::option::Option::None => return ::std::option::Option::None,
  557         -
        ::std::option::Option::Some(t) => t,
  558         -
    };
         510  +
    let input = input.remediation_execution_statuses?;
  559    511   
    ::std::option::Option::Some(input)
  560    512   
}
  561    513   
  562    514   
pub(crate) fn lens_describe_retention_configurations_output_output_retention_configurations(
  563    515   
    input: crate::operation::describe_retention_configurations::DescribeRetentionConfigurationsOutput,
  564    516   
) -> ::std::option::Option<::std::vec::Vec<crate::types::RetentionConfiguration>> {
  565         -
    let input = match input.retention_configurations {
  566         -
        ::std::option::Option::None => return ::std::option::Option::None,
  567         -
        ::std::option::Option::Some(t) => t,
  568         -
    };
         517  +
    let input = input.retention_configurations?;
  569    518   
    ::std::option::Option::Some(input)
  570    519   
}
  571    520   
  572    521   
pub(crate) fn lens_get_aggregate_compliance_details_by_config_rule_output_output_aggregate_evaluation_results(
  573    522   
    input: crate::operation::get_aggregate_compliance_details_by_config_rule::GetAggregateComplianceDetailsByConfigRuleOutput,
  574    523   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AggregateEvaluationResult>> {
  575         -
    let input = match input.aggregate_evaluation_results {
  576         -
        ::std::option::Option::None => return ::std::option::Option::None,
  577         -
        ::std::option::Option::Some(t) => t,
  578         -
    };
         524  +
    let input = input.aggregate_evaluation_results?;
  579    525   
    ::std::option::Option::Some(input)
  580    526   
}
  581    527   
  582    528   
pub(crate) fn lens_get_compliance_details_by_config_rule_output_output_evaluation_results(
  583    529   
    input: crate::operation::get_compliance_details_by_config_rule::GetComplianceDetailsByConfigRuleOutput,
  584    530   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EvaluationResult>> {
  585         -
    let input = match input.evaluation_results {
  586         -
        ::std::option::Option::None => return ::std::option::Option::None,
  587         -
        ::std::option::Option::Some(t) => t,
  588         -
    };
         531  +
    let input = input.evaluation_results?;
  589    532   
    ::std::option::Option::Some(input)
  590    533   
}
  591    534   
  592    535   
pub(crate) fn lens_get_compliance_details_by_resource_output_output_evaluation_results(
  593    536   
    input: crate::operation::get_compliance_details_by_resource::GetComplianceDetailsByResourceOutput,
  594    537   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EvaluationResult>> {
  595         -
    let input = match input.evaluation_results {
  596         -
        ::std::option::Option::None => return ::std::option::Option::None,
  597         -
        ::std::option::Option::Some(t) => t,
  598         -
    };
         538  +
    let input = input.evaluation_results?;
  599    539   
    ::std::option::Option::Some(input)
  600    540   
}
  601    541   
  602    542   
pub(crate) fn lens_get_conformance_pack_compliance_summary_output_output_conformance_pack_compliance_summary_list(
  603    543   
    input: crate::operation::get_conformance_pack_compliance_summary::GetConformancePackComplianceSummaryOutput,
  604    544   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConformancePackComplianceSummary>> {
  605         -
    let input = match input.conformance_pack_compliance_summary_list {
  606         -
        ::std::option::Option::None => return ::std::option::Option::None,
  607         -
        ::std::option::Option::Some(t) => t,
  608         -
    };
         545  +
    let input = input.conformance_pack_compliance_summary_list?;
  609    546   
    ::std::option::Option::Some(input)
  610    547   
}
  611    548   
  612    549   
pub(crate) fn lens_get_organization_config_rule_detailed_status_output_output_organization_config_rule_detailed_status(
  613    550   
    input: crate::operation::get_organization_config_rule_detailed_status::GetOrganizationConfigRuleDetailedStatusOutput,
  614    551   
) -> ::std::option::Option<::std::vec::Vec<crate::types::MemberAccountStatus>> {
  615         -
    let input = match input.organization_config_rule_detailed_status {
  616         -
        ::std::option::Option::None => return ::std::option::Option::None,
  617         -
        ::std::option::Option::Some(t) => t,
  618         -
    };
         552  +
    let input = input.organization_config_rule_detailed_status?;
  619    553   
    ::std::option::Option::Some(input)
  620    554   
}
  621    555   
  622    556   
pub(crate) fn lens_get_organization_conformance_pack_detailed_status_output_output_organization_conformance_pack_detailed_statuses(
  623    557   
    input: crate::operation::get_organization_conformance_pack_detailed_status::GetOrganizationConformancePackDetailedStatusOutput,
  624    558   
) -> ::std::option::Option<::std::vec::Vec<crate::types::OrganizationConformancePackDetailedStatus>> {
  625         -
    let input = match input.organization_conformance_pack_detailed_statuses {
  626         -
        ::std::option::Option::None => return ::std::option::Option::None,
  627         -
        ::std::option::Option::Some(t) => t,
  628         -
    };
         559  +
    let input = input.organization_conformance_pack_detailed_statuses?;
  629    560   
    ::std::option::Option::Some(input)
  630    561   
}
  631    562   
  632    563   
pub(crate) fn lens_get_resource_config_history_output_output_configuration_items(
  633    564   
    input: crate::operation::get_resource_config_history::GetResourceConfigHistoryOutput,
  634    565   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConfigurationItem>> {
  635         -
    let input = match input.configuration_items {
  636         -
        ::std::option::Option::None => return ::std::option::Option::None,
  637         -
        ::std::option::Option::Some(t) => t,
  638         -
    };
         566  +
    let input = input.configuration_items?;
  639    567   
    ::std::option::Option::Some(input)
  640    568   
}
  641    569   
  642    570   
pub(crate) fn lens_list_aggregate_discovered_resources_output_output_resource_identifiers(
  643    571   
    input: crate::operation::list_aggregate_discovered_resources::ListAggregateDiscoveredResourcesOutput,
  644    572   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AggregateResourceIdentifier>> {
  645         -
    let input = match input.resource_identifiers {
  646         -
        ::std::option::Option::None => return ::std::option::Option::None,
  647         -
        ::std::option::Option::Some(t) => t,
  648         -
    };
         573  +
    let input = input.resource_identifiers?;
  649    574   
    ::std::option::Option::Some(input)
  650    575   
}
  651    576   
  652    577   
pub(crate) fn lens_list_discovered_resources_output_output_resource_identifiers(
  653    578   
    input: crate::operation::list_discovered_resources::ListDiscoveredResourcesOutput,
  654    579   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ResourceIdentifier>> {
  655         -
    let input = match input.resource_identifiers {
  656         -
        ::std::option::Option::None => return ::std::option::Option::None,
  657         -
        ::std::option::Option::Some(t) => t,
  658         -
    };
         580  +
    let input = input.resource_identifiers?;
  659    581   
    ::std::option::Option::Some(input)
  660    582   
}
  661    583   
  662    584   
pub(crate) fn lens_list_resource_evaluations_output_output_resource_evaluations(
  663    585   
    input: crate::operation::list_resource_evaluations::ListResourceEvaluationsOutput,
  664    586   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ResourceEvaluation>> {
  665         -
    let input = match input.resource_evaluations {
  666         -
        ::std::option::Option::None => return ::std::option::Option::None,
  667         -
        ::std::option::Option::Some(t) => t,
  668         -
    };
         587  +
    let input = input.resource_evaluations?;
  669    588   
    ::std::option::Option::Some(input)
  670    589   
}
  671    590   
  672    591   
pub(crate) fn lens_list_tags_for_resource_output_output_tags(
  673    592   
    input: crate::operation::list_tags_for_resource::ListTagsForResourceOutput,
  674    593   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
  675         -
    let input = match input.tags {
  676         -
        ::std::option::Option::None => return ::std::option::Option::None,
  677         -
        ::std::option::Option::Some(t) => t,
  678         -
    };
         594  +
    let input = input.tags?;
  679    595   
    ::std::option::Option::Some(input)
  680    596   
}
  681    597   
  682    598   
pub(crate) fn lens_select_aggregate_resource_config_output_output_results(
  683    599   
    input: crate::operation::select_aggregate_resource_config::SelectAggregateResourceConfigOutput,
  684    600   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  685         -
    let input = match input.results {
  686         -
        ::std::option::Option::None => return ::std::option::Option::None,
  687         -
        ::std::option::Option::Some(t) => t,
  688         -
    };
         601  +
    let input = input.results?;
  689    602   
    ::std::option::Option::Some(input)
  690    603   
}
  691    604   
  692    605   
pub(crate) fn lens_select_resource_config_output_output_results(
  693    606   
    input: crate::operation::select_resource_config::SelectResourceConfigOutput,
  694    607   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
  695         -
    let input = match input.results {
  696         -
        ::std::option::Option::None => return ::std::option::Option::None,
  697         -
        ::std::option::Option::Some(t) => t,
  698         -
    };
         608  +
    let input = input.results?;
  699    609   
    ::std::option::Option::Some(input)
  700    610   
}

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

@@ -1,1 +40,40 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-sdk-dynamodb"
    4      4   
version = "0.0.0-local"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "AWS SDK for Amazon DynamoDB"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10         -
rust-version = "1.82.0"
          10  +
rust-version = "1.85.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.3"
   20     20   
@@ -44,44 +128,128 @@
   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.approx]
   70     70   
version = "0.5.1"
   71     71   
   72     72   
[dev-dependencies.aws-config]
   73     73   
path = "../aws-config"
   74         -
version = "1.6.3"
          74  +
version = "1.6.4"
   75     75   
   76     76   
[dev-dependencies.aws-credential-types]
   77     77   
path = "../aws-credential-types"
   78     78   
features = ["test-util"]
   79     79   
version = "1.2.3"
   80     80   
   81     81   
[dev-dependencies.aws-runtime]
   82     82   
path = "../aws-runtime"
   83     83   
features = ["test-util"]
   84     84   
version = "1.5.7"
   85     85   
   86     86   
[dev-dependencies.aws-smithy-async]
   87     87   
path = "../aws-smithy-async"
   88     88   
features = ["test-util"]
   89     89   
version = "1.2.5"
   90     90   
   91     91   
[dev-dependencies.aws-smithy-http-client]
   92     92   
path = "../aws-smithy-http-client"
   93     93   
features = ["test-util", "wire-mock"]
   94         -
version = "1.0.3"
          94  +
version = "1.0.4"
   95     95   
   96     96   
[dev-dependencies.aws-smithy-protocol-test]
   97     97   
path = "../aws-smithy-protocol-test"
   98         -
version = "0.63.2"
          98  +
version = "0.63.3"
   99     99   
  100    100   
[dev-dependencies.aws-smithy-runtime]
  101    101   
path = "../aws-smithy-runtime"
  102    102   
features = ["test-util"]
  103    103   
version = "1.8.3"
  104    104   
  105    105   
[dev-dependencies.aws-smithy-runtime-api]
  106    106   
path = "../aws-smithy-runtime-api"
  107    107   
features = ["test-util"]
  108    108   
version = "1.8.0"

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

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

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

@@ -35,35 +90,81 @@
   55     55   
    let input = match &input.last_evaluated_key {
   56     56   
        ::std::option::Option::None => return ::std::option::Option::None,
   57     57   
        ::std::option::Option::Some(t) => t,
   58     58   
    };
   59     59   
    ::std::option::Option::Some(input)
   60     60   
}
   61     61   
   62     62   
pub(crate) fn lens_list_tables_output_output_table_names(
   63     63   
    input: crate::operation::list_tables::ListTablesOutput,
   64     64   
) -> ::std::option::Option<::std::vec::Vec<::std::string::String>> {
   65         -
    let input = match input.table_names {
   66         -
        ::std::option::Option::None => return ::std::option::Option::None,
   67         -
        ::std::option::Option::Some(t) => t,
   68         -
    };
          65  +
    let input = input.table_names?;
   69     66   
    ::std::option::Option::Some(input)
   70     67   
}
   71     68   
   72     69   
pub(crate) fn lens_query_output_output_items(
   73     70   
    input: crate::operation::query::QueryOutput,
   74     71   
) -> ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>> {
   75         -
    let input = match input.items {
   76         -
        ::std::option::Option::None => return ::std::option::Option::None,
   77         -
        ::std::option::Option::Some(t) => t,
   78         -
    };
          72  +
    let input = input.items?;
   79     73   
    ::std::option::Option::Some(input)
   80     74   
}
   81     75   
   82     76   
pub(crate) fn lens_scan_output_output_items(
   83     77   
    input: crate::operation::scan::ScanOutput,
   84     78   
) -> ::std::option::Option<::std::vec::Vec<::std::collections::HashMap<::std::string::String, crate::types::AttributeValue>>> {
   85         -
    let input = match input.items {
   86         -
        ::std::option::Option::None => return ::std::option::Option::None,
   87         -
        ::std::option::Option::Some(t) => t,
   88         -
    };
          79  +
    let input = input.items?;
   89     80   
    ::std::option::Option::Some(input)
   90     81   
}

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

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

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

@@ -1375,1375 +2800,2380 @@
 1395   1395   
    let input = match &input.next_token {
 1396   1396   
        ::std::option::Option::None => return ::std::option::Option::None,
 1397   1397   
        ::std::option::Option::Some(t) => t,
 1398   1398   
    };
 1399   1399   
    ::std::option::Option::Some(input)
 1400   1400   
}
 1401   1401   
 1402   1402   
pub(crate) fn lens_describe_address_transfers_output_output_address_transfers(
 1403   1403   
    input: crate::operation::describe_address_transfers::DescribeAddressTransfersOutput,
 1404   1404   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AddressTransfer>> {
 1405         -
    let input = match input.address_transfers {
 1406         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1407         -
        ::std::option::Option::Some(t) => t,
 1408         -
    };
        1405  +
    let input = input.address_transfers?;
 1409   1406   
    ::std::option::Option::Some(input)
 1410   1407   
}
 1411   1408   
 1412   1409   
pub(crate) fn lens_describe_addresses_attribute_output_output_addresses(
 1413   1410   
    input: crate::operation::describe_addresses_attribute::DescribeAddressesAttributeOutput,
 1414   1411   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AddressAttribute>> {
 1415         -
    let input = match input.addresses {
 1416         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1417         -
        ::std::option::Option::Some(t) => t,
 1418         -
    };
        1412  +
    let input = input.addresses?;
 1419   1413   
    ::std::option::Option::Some(input)
 1420   1414   
}
 1421   1415   
 1422   1416   
pub(crate) fn lens_describe_aws_network_performance_metric_subscriptions_output_output_subscriptions(
 1423   1417   
    input: crate::operation::describe_aws_network_performance_metric_subscriptions::DescribeAwsNetworkPerformanceMetricSubscriptionsOutput,
 1424   1418   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Subscription>> {
 1425         -
    let input = match input.subscriptions {
 1426         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1427         -
        ::std::option::Option::Some(t) => t,
 1428         -
    };
        1419  +
    let input = input.subscriptions?;
 1429   1420   
    ::std::option::Option::Some(input)
 1430   1421   
}
 1431   1422   
 1432   1423   
pub(crate) fn lens_describe_byoip_cidrs_output_output_byoip_cidrs(
 1433   1424   
    input: crate::operation::describe_byoip_cidrs::DescribeByoipCidrsOutput,
 1434   1425   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ByoipCidr>> {
 1435         -
    let input = match input.byoip_cidrs {
 1436         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1437         -
        ::std::option::Option::Some(t) => t,
 1438         -
    };
        1426  +
    let input = input.byoip_cidrs?;
 1439   1427   
    ::std::option::Option::Some(input)
 1440   1428   
}
 1441   1429   
 1442   1430   
pub(crate) fn lens_describe_capacity_block_offerings_output_output_capacity_block_offerings(
 1443   1431   
    input: crate::operation::describe_capacity_block_offerings::DescribeCapacityBlockOfferingsOutput,
 1444   1432   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CapacityBlockOffering>> {
 1445         -
    let input = match input.capacity_block_offerings {
 1446         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1447         -
        ::std::option::Option::Some(t) => t,
 1448         -
    };
        1433  +
    let input = input.capacity_block_offerings?;
 1449   1434   
    ::std::option::Option::Some(input)
 1450   1435   
}
 1451   1436   
 1452   1437   
pub(crate) fn lens_describe_capacity_reservation_fleets_output_output_capacity_reservation_fleets(
 1453   1438   
    input: crate::operation::describe_capacity_reservation_fleets::DescribeCapacityReservationFleetsOutput,
 1454   1439   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CapacityReservationFleet>> {
 1455         -
    let input = match input.capacity_reservation_fleets {
 1456         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1457         -
        ::std::option::Option::Some(t) => t,
 1458         -
    };
        1440  +
    let input = input.capacity_reservation_fleets?;
 1459   1441   
    ::std::option::Option::Some(input)
 1460   1442   
}
 1461   1443   
 1462   1444   
pub(crate) fn lens_describe_capacity_reservations_output_output_capacity_reservations(
 1463   1445   
    input: crate::operation::describe_capacity_reservations::DescribeCapacityReservationsOutput,
 1464   1446   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CapacityReservation>> {
 1465         -
    let input = match input.capacity_reservations {
 1466         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1467         -
        ::std::option::Option::Some(t) => t,
 1468         -
    };
        1447  +
    let input = input.capacity_reservations?;
 1469   1448   
    ::std::option::Option::Some(input)
 1470   1449   
}
 1471   1450   
 1472   1451   
pub(crate) fn lens_describe_carrier_gateways_output_output_carrier_gateways(
 1473   1452   
    input: crate::operation::describe_carrier_gateways::DescribeCarrierGatewaysOutput,
 1474   1453   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CarrierGateway>> {
 1475         -
    let input = match input.carrier_gateways {
 1476         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1477         -
        ::std::option::Option::Some(t) => t,
 1478         -
    };
        1454  +
    let input = input.carrier_gateways?;
 1479   1455   
    ::std::option::Option::Some(input)
 1480   1456   
}
 1481   1457   
 1482   1458   
pub(crate) fn lens_describe_classic_link_instances_output_output_instances(
 1483   1459   
    input: crate::operation::describe_classic_link_instances::DescribeClassicLinkInstancesOutput,
 1484   1460   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClassicLinkInstance>> {
 1485         -
    let input = match input.instances {
 1486         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1487         -
        ::std::option::Option::Some(t) => t,
 1488         -
    };
        1461  +
    let input = input.instances?;
 1489   1462   
    ::std::option::Option::Some(input)
 1490   1463   
}
 1491   1464   
 1492   1465   
pub(crate) fn lens_describe_client_vpn_authorization_rules_output_output_authorization_rules(
 1493   1466   
    input: crate::operation::describe_client_vpn_authorization_rules::DescribeClientVpnAuthorizationRulesOutput,
 1494   1467   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AuthorizationRule>> {
 1495         -
    let input = match input.authorization_rules {
 1496         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1497         -
        ::std::option::Option::Some(t) => t,
 1498         -
    };
        1468  +
    let input = input.authorization_rules?;
 1499   1469   
    ::std::option::Option::Some(input)
 1500   1470   
}
 1501   1471   
 1502   1472   
pub(crate) fn lens_describe_client_vpn_connections_output_output_connections(
 1503   1473   
    input: crate::operation::describe_client_vpn_connections::DescribeClientVpnConnectionsOutput,
 1504   1474   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClientVpnConnection>> {
 1505         -
    let input = match input.connections {
 1506         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1507         -
        ::std::option::Option::Some(t) => t,
 1508         -
    };
        1475  +
    let input = input.connections?;
 1509   1476   
    ::std::option::Option::Some(input)
 1510   1477   
}
 1511   1478   
 1512   1479   
pub(crate) fn lens_describe_client_vpn_endpoints_output_output_client_vpn_endpoints(
 1513   1480   
    input: crate::operation::describe_client_vpn_endpoints::DescribeClientVpnEndpointsOutput,
 1514   1481   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClientVpnEndpoint>> {
 1515         -
    let input = match input.client_vpn_endpoints {
 1516         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1517         -
        ::std::option::Option::Some(t) => t,
 1518         -
    };
        1482  +
    let input = input.client_vpn_endpoints?;
 1519   1483   
    ::std::option::Option::Some(input)
 1520   1484   
}
 1521   1485   
 1522   1486   
pub(crate) fn lens_describe_client_vpn_routes_output_output_routes(
 1523   1487   
    input: crate::operation::describe_client_vpn_routes::DescribeClientVpnRoutesOutput,
 1524   1488   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClientVpnRoute>> {
 1525         -
    let input = match input.routes {
 1526         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1527         -
        ::std::option::Option::Some(t) => t,
 1528         -
    };
        1489  +
    let input = input.routes?;
 1529   1490   
    ::std::option::Option::Some(input)
 1530   1491   
}
 1531   1492   
 1532   1493   
pub(crate) fn lens_describe_client_vpn_target_networks_output_output_client_vpn_target_networks(
 1533   1494   
    input: crate::operation::describe_client_vpn_target_networks::DescribeClientVpnTargetNetworksOutput,
 1534   1495   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TargetNetwork>> {
 1535         -
    let input = match input.client_vpn_target_networks {
 1536         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1537         -
        ::std::option::Option::Some(t) => t,
 1538         -
    };
        1496  +
    let input = input.client_vpn_target_networks?;
 1539   1497   
    ::std::option::Option::Some(input)
 1540   1498   
}
 1541   1499   
 1542   1500   
pub(crate) fn lens_describe_coip_pools_output_output_coip_pools(
 1543   1501   
    input: crate::operation::describe_coip_pools::DescribeCoipPoolsOutput,
 1544   1502   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CoipPool>> {
 1545         -
    let input = match input.coip_pools {
 1546         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1547         -
        ::std::option::Option::Some(t) => t,
 1548         -
    };
        1503  +
    let input = input.coip_pools?;
 1549   1504   
    ::std::option::Option::Some(input)
 1550   1505   
}
 1551   1506   
 1552   1507   
pub(crate) fn lens_describe_dhcp_options_output_output_dhcp_options(
 1553   1508   
    input: crate::operation::describe_dhcp_options::DescribeDhcpOptionsOutput,
 1554   1509   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DhcpOptions>> {
 1555         -
    let input = match input.dhcp_options {
 1556         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1557         -
        ::std::option::Option::Some(t) => t,
 1558         -
    };
        1510  +
    let input = input.dhcp_options?;
 1559   1511   
    ::std::option::Option::Some(input)
 1560   1512   
}
 1561   1513   
 1562   1514   
pub(crate) fn lens_describe_egress_only_internet_gateways_output_output_egress_only_internet_gateways(
 1563   1515   
    input: crate::operation::describe_egress_only_internet_gateways::DescribeEgressOnlyInternetGatewaysOutput,
 1564   1516   
) -> ::std::option::Option<::std::vec::Vec<crate::types::EgressOnlyInternetGateway>> {
 1565         -
    let input = match input.egress_only_internet_gateways {
 1566         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1567         -
        ::std::option::Option::Some(t) => t,
 1568         -
    };
        1517  +
    let input = input.egress_only_internet_gateways?;
 1569   1518   
    ::std::option::Option::Some(input)
 1570   1519   
}
 1571   1520   
 1572   1521   
pub(crate) fn lens_describe_export_image_tasks_output_output_export_image_tasks(
 1573   1522   
    input: crate::operation::describe_export_image_tasks::DescribeExportImageTasksOutput,
 1574   1523   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ExportImageTask>> {
 1575         -
    let input = match input.export_image_tasks {
 1576         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1577         -
        ::std::option::Option::Some(t) => t,
 1578         -
    };
        1524  +
    let input = input.export_image_tasks?;
 1579   1525   
    ::std::option::Option::Some(input)
 1580   1526   
}
 1581   1527   
 1582   1528   
pub(crate) fn lens_describe_fast_launch_images_output_output_fast_launch_images(
 1583   1529   
    input: crate::operation::describe_fast_launch_images::DescribeFastLaunchImagesOutput,
 1584   1530   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DescribeFastLaunchImagesSuccessItem>> {
 1585         -
    let input = match input.fast_launch_images {
 1586         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1587         -
        ::std::option::Option::Some(t) => t,
 1588         -
    };
        1531  +
    let input = input.fast_launch_images?;
 1589   1532   
    ::std::option::Option::Some(input)
 1590   1533   
}
 1591   1534   
 1592   1535   
pub(crate) fn lens_describe_fast_snapshot_restores_output_output_fast_snapshot_restores(
 1593   1536   
    input: crate::operation::describe_fast_snapshot_restores::DescribeFastSnapshotRestoresOutput,
 1594   1537   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DescribeFastSnapshotRestoreSuccessItem>> {
 1595         -
    let input = match input.fast_snapshot_restores {
 1596         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1597         -
        ::std::option::Option::Some(t) => t,
 1598         -
    };
        1538  +
    let input = input.fast_snapshot_restores?;
 1599   1539   
    ::std::option::Option::Some(input)
 1600   1540   
}
 1601   1541   
 1602   1542   
pub(crate) fn lens_describe_fleets_output_output_fleets(
 1603   1543   
    input: crate::operation::describe_fleets::DescribeFleetsOutput,
 1604   1544   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FleetData>> {
 1605         -
    let input = match input.fleets {
 1606         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1607         -
        ::std::option::Option::Some(t) => t,
 1608         -
    };
        1545  +
    let input = input.fleets?;
 1609   1546   
    ::std::option::Option::Some(input)
 1610   1547   
}
 1611   1548   
 1612   1549   
pub(crate) fn lens_describe_flow_logs_output_output_flow_logs(
 1613   1550   
    input: crate::operation::describe_flow_logs::DescribeFlowLogsOutput,
 1614   1551   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FlowLog>> {
 1615         -
    let input = match input.flow_logs {
 1616         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1617         -
        ::std::option::Option::Some(t) => t,
 1618         -
    };
        1552  +
    let input = input.flow_logs?;
 1619   1553   
    ::std::option::Option::Some(input)
 1620   1554   
}
 1621   1555   
 1622   1556   
pub(crate) fn lens_describe_fpga_images_output_output_fpga_images(
 1623   1557   
    input: crate::operation::describe_fpga_images::DescribeFpgaImagesOutput,
 1624   1558   
) -> ::std::option::Option<::std::vec::Vec<crate::types::FpgaImage>> {
 1625         -
    let input = match input.fpga_images {
 1626         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1627         -
        ::std::option::Option::Some(t) => t,
 1628         -
    };
        1559  +
    let input = input.fpga_images?;
 1629   1560   
    ::std::option::Option::Some(input)
 1630   1561   
}
 1631   1562   
 1632   1563   
pub(crate) fn lens_describe_host_reservation_offerings_output_output_offering_set(
 1633   1564   
    input: crate::operation::describe_host_reservation_offerings::DescribeHostReservationOfferingsOutput,
 1634   1565   
) -> ::std::option::Option<::std::vec::Vec<crate::types::HostOffering>> {
 1635         -
    let input = match input.offering_set {
 1636         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1637         -
        ::std::option::Option::Some(t) => t,
 1638         -
    };
        1566  +
    let input = input.offering_set?;
 1639   1567   
    ::std::option::Option::Some(input)
 1640   1568   
}
 1641   1569   
 1642   1570   
pub(crate) fn lens_describe_host_reservations_output_output_host_reservation_set(
 1643   1571   
    input: crate::operation::describe_host_reservations::DescribeHostReservationsOutput,
 1644   1572   
) -> ::std::option::Option<::std::vec::Vec<crate::types::HostReservation>> {
 1645         -
    let input = match input.host_reservation_set {
 1646         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1647         -
        ::std::option::Option::Some(t) => t,
 1648         -
    };
        1573  +
    let input = input.host_reservation_set?;
 1649   1574   
    ::std::option::Option::Some(input)
 1650   1575   
}
 1651   1576   
 1652   1577   
pub(crate) fn lens_describe_hosts_output_output_hosts(
 1653   1578   
    input: crate::operation::describe_hosts::DescribeHostsOutput,
 1654   1579   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Host>> {
 1655         -
    let input = match input.hosts {
 1656         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1657         -
        ::std::option::Option::Some(t) => t,
 1658         -
    };
        1580  +
    let input = input.hosts?;
 1659   1581   
    ::std::option::Option::Some(input)
 1660   1582   
}
 1661   1583   
 1662   1584   
pub(crate) fn lens_describe_iam_instance_profile_associations_output_output_iam_instance_profile_associations(
 1663   1585   
    input: crate::operation::describe_iam_instance_profile_associations::DescribeIamInstanceProfileAssociationsOutput,
 1664   1586   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IamInstanceProfileAssociation>> {
 1665         -
    let input = match input.iam_instance_profile_associations {
 1666         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1667         -
        ::std::option::Option::Some(t) => t,
 1668         -
    };
        1587  +
    let input = input.iam_instance_profile_associations?;
 1669   1588   
    ::std::option::Option::Some(input)
 1670   1589   
}
 1671   1590   
 1672   1591   
pub(crate) fn lens_describe_images_output_output_images(
 1673   1592   
    input: crate::operation::describe_images::DescribeImagesOutput,
 1674   1593   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Image>> {
 1675         -
    let input = match input.images {
 1676         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1677         -
        ::std::option::Option::Some(t) => t,
 1678         -
    };
        1594  +
    let input = input.images?;
 1679   1595   
    ::std::option::Option::Some(input)
 1680   1596   
}
 1681   1597   
 1682   1598   
pub(crate) fn lens_describe_import_image_tasks_output_output_import_image_tasks(
 1683   1599   
    input: crate::operation::describe_import_image_tasks::DescribeImportImageTasksOutput,
 1684   1600   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ImportImageTask>> {
 1685         -
    let input = match input.import_image_tasks {
 1686         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1687         -
        ::std::option::Option::Some(t) => t,
 1688         -
    };
        1601  +
    let input = input.import_image_tasks?;
 1689   1602   
    ::std::option::Option::Some(input)
 1690   1603   
}
 1691   1604   
 1692   1605   
pub(crate) fn lens_describe_import_snapshot_tasks_output_output_import_snapshot_tasks(
 1693   1606   
    input: crate::operation::describe_import_snapshot_tasks::DescribeImportSnapshotTasksOutput,
 1694   1607   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ImportSnapshotTask>> {
 1695         -
    let input = match input.import_snapshot_tasks {
 1696         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1697         -
        ::std::option::Option::Some(t) => t,
 1698         -
    };
        1608  +
    let input = input.import_snapshot_tasks?;
 1699   1609   
    ::std::option::Option::Some(input)
 1700   1610   
}
 1701   1611   
 1702   1612   
pub(crate) fn lens_describe_instance_connect_endpoints_output_output_instance_connect_endpoints(
 1703   1613   
    input: crate::operation::describe_instance_connect_endpoints::DescribeInstanceConnectEndpointsOutput,
 1704   1614   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Ec2InstanceConnectEndpoint>> {
 1705         -
    let input = match input.instance_connect_endpoints {
 1706         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1707         -
        ::std::option::Option::Some(t) => t,
 1708         -
    };
        1615  +
    let input = input.instance_connect_endpoints?;
 1709   1616   
    ::std::option::Option::Some(input)
 1710   1617   
}
 1711   1618   
 1712   1619   
pub(crate) fn lens_describe_instance_credit_specifications_output_output_instance_credit_specifications(
 1713   1620   
    input: crate::operation::describe_instance_credit_specifications::DescribeInstanceCreditSpecificationsOutput,
 1714   1621   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceCreditSpecification>> {
 1715         -
    let input = match input.instance_credit_specifications {
 1716         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1717         -
        ::std::option::Option::Some(t) => t,
 1718         -
    };
        1622  +
    let input = input.instance_credit_specifications?;
 1719   1623   
    ::std::option::Option::Some(input)
 1720   1624   
}
 1721   1625   
 1722   1626   
pub(crate) fn lens_describe_instance_event_windows_output_output_instance_event_windows(
 1723   1627   
    input: crate::operation::describe_instance_event_windows::DescribeInstanceEventWindowsOutput,
 1724   1628   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceEventWindow>> {
 1725         -
    let input = match input.instance_event_windows {
 1726         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1727         -
        ::std::option::Option::Some(t) => t,
 1728         -
    };
        1629  +
    let input = input.instance_event_windows?;
 1729   1630   
    ::std::option::Option::Some(input)
 1730   1631   
}
 1731   1632   
 1732   1633   
pub(crate) fn lens_describe_instance_status_output_output_instance_statuses(
 1733   1634   
    input: crate::operation::describe_instance_status::DescribeInstanceStatusOutput,
 1734   1635   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceStatus>> {
 1735         -
    let input = match input.instance_statuses {
 1736         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1737         -
        ::std::option::Option::Some(t) => t,
 1738         -
    };
        1636  +
    let input = input.instance_statuses?;
 1739   1637   
    ::std::option::Option::Some(input)
 1740   1638   
}
 1741   1639   
 1742   1640   
pub(crate) fn lens_describe_instance_topology_output_output_instances(
 1743   1641   
    input: crate::operation::describe_instance_topology::DescribeInstanceTopologyOutput,
 1744   1642   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceTopology>> {
 1745         -
    let input = match input.instances {
 1746         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1747         -
        ::std::option::Option::Some(t) => t,
 1748         -
    };
        1643  +
    let input = input.instances?;
 1749   1644   
    ::std::option::Option::Some(input)
 1750   1645   
}
 1751   1646   
 1752   1647   
pub(crate) fn lens_describe_instance_type_offerings_output_output_instance_type_offerings(
 1753   1648   
    input: crate::operation::describe_instance_type_offerings::DescribeInstanceTypeOfferingsOutput,
 1754   1649   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceTypeOffering>> {
 1755         -
    let input = match input.instance_type_offerings {
 1756         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1757         -
        ::std::option::Option::Some(t) => t,
 1758         -
    };
        1650  +
    let input = input.instance_type_offerings?;
 1759   1651   
    ::std::option::Option::Some(input)
 1760   1652   
}
 1761   1653   
 1762   1654   
pub(crate) fn lens_describe_instance_types_output_output_instance_types(
 1763   1655   
    input: crate::operation::describe_instance_types::DescribeInstanceTypesOutput,
 1764   1656   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceTypeInfo>> {
 1765         -
    let input = match input.instance_types {
 1766         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1767         -
        ::std::option::Option::Some(t) => t,
 1768         -
    };
        1657  +
    let input = input.instance_types?;
 1769   1658   
    ::std::option::Option::Some(input)
 1770   1659   
}
 1771   1660   
 1772   1661   
pub(crate) fn lens_describe_instances_output_output_reservations(
 1773   1662   
    input: crate::operation::describe_instances::DescribeInstancesOutput,
 1774   1663   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Reservation>> {
 1775         -
    let input = match input.reservations {
 1776         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1777         -
        ::std::option::Option::Some(t) => t,
 1778         -
    };
        1664  +
    let input = input.reservations?;
 1779   1665   
    ::std::option::Option::Some(input)
 1780   1666   
}
 1781   1667   
 1782   1668   
pub(crate) fn lens_describe_internet_gateways_output_output_internet_gateways(
 1783   1669   
    input: crate::operation::describe_internet_gateways::DescribeInternetGatewaysOutput,
 1784   1670   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InternetGateway>> {
 1785         -
    let input = match input.internet_gateways {
 1786         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1787         -
        ::std::option::Option::Some(t) => t,
 1788         -
    };
        1671  +
    let input = input.internet_gateways?;
 1789   1672   
    ::std::option::Option::Some(input)
 1790   1673   
}
 1791   1674   
 1792   1675   
pub(crate) fn lens_describe_ipam_pools_output_output_ipam_pools(
 1793   1676   
    input: crate::operation::describe_ipam_pools::DescribeIpamPoolsOutput,
 1794   1677   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamPool>> {
 1795         -
    let input = match input.ipam_pools {
 1796         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1797         -
        ::std::option::Option::Some(t) => t,
 1798         -
    };
        1678  +
    let input = input.ipam_pools?;
 1799   1679   
    ::std::option::Option::Some(input)
 1800   1680   
}
 1801   1681   
 1802   1682   
pub(crate) fn lens_describe_ipam_resource_discoveries_output_output_ipam_resource_discoveries(
 1803   1683   
    input: crate::operation::describe_ipam_resource_discoveries::DescribeIpamResourceDiscoveriesOutput,
 1804   1684   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamResourceDiscovery>> {
 1805         -
    let input = match input.ipam_resource_discoveries {
 1806         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1807         -
        ::std::option::Option::Some(t) => t,
 1808         -
    };
        1685  +
    let input = input.ipam_resource_discoveries?;
 1809   1686   
    ::std::option::Option::Some(input)
 1810   1687   
}
 1811   1688   
 1812   1689   
pub(crate) fn lens_describe_ipam_resource_discovery_associations_output_output_ipam_resource_discovery_associations(
 1813   1690   
    input: crate::operation::describe_ipam_resource_discovery_associations::DescribeIpamResourceDiscoveryAssociationsOutput,
 1814   1691   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamResourceDiscoveryAssociation>> {
 1815         -
    let input = match input.ipam_resource_discovery_associations {
 1816         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1817         -
        ::std::option::Option::Some(t) => t,
 1818         -
    };
        1692  +
    let input = input.ipam_resource_discovery_associations?;
 1819   1693   
    ::std::option::Option::Some(input)
 1820   1694   
}
 1821   1695   
 1822   1696   
pub(crate) fn lens_describe_ipam_scopes_output_output_ipam_scopes(
 1823   1697   
    input: crate::operation::describe_ipam_scopes::DescribeIpamScopesOutput,
 1824   1698   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamScope>> {
 1825         -
    let input = match input.ipam_scopes {
 1826         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1827         -
        ::std::option::Option::Some(t) => t,
 1828         -
    };
        1699  +
    let input = input.ipam_scopes?;
 1829   1700   
    ::std::option::Option::Some(input)
 1830   1701   
}
 1831   1702   
 1832   1703   
pub(crate) fn lens_describe_ipams_output_output_ipams(
 1833   1704   
    input: crate::operation::describe_ipams::DescribeIpamsOutput,
 1834   1705   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Ipam>> {
 1835         -
    let input = match input.ipams {
 1836         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1837         -
        ::std::option::Option::Some(t) => t,
 1838         -
    };
        1706  +
    let input = input.ipams?;
 1839   1707   
    ::std::option::Option::Some(input)
 1840   1708   
}
 1841   1709   
 1842   1710   
pub(crate) fn lens_describe_ipv6_pools_output_output_ipv6_pools(
 1843   1711   
    input: crate::operation::describe_ipv6_pools::DescribeIpv6PoolsOutput,
 1844   1712   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Ipv6Pool>> {
 1845         -
    let input = match input.ipv6_pools {
 1846         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1847         -
        ::std::option::Option::Some(t) => t,
 1848         -
    };
        1713  +
    let input = input.ipv6_pools?;
 1849   1714   
    ::std::option::Option::Some(input)
 1850   1715   
}
 1851   1716   
 1852   1717   
pub(crate) fn lens_describe_launch_template_versions_output_output_launch_template_versions(
 1853   1718   
    input: crate::operation::describe_launch_template_versions::DescribeLaunchTemplateVersionsOutput,
 1854   1719   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LaunchTemplateVersion>> {
 1855         -
    let input = match input.launch_template_versions {
 1856         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1857         -
        ::std::option::Option::Some(t) => t,
 1858         -
    };
        1720  +
    let input = input.launch_template_versions?;
 1859   1721   
    ::std::option::Option::Some(input)
 1860   1722   
}
 1861   1723   
 1862   1724   
pub(crate) fn lens_describe_launch_templates_output_output_launch_templates(
 1863   1725   
    input: crate::operation::describe_launch_templates::DescribeLaunchTemplatesOutput,
 1864   1726   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LaunchTemplate>> {
 1865         -
    let input = match input.launch_templates {
 1866         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1867         -
        ::std::option::Option::Some(t) => t,
 1868         -
    };
        1727  +
    let input = input.launch_templates?;
 1869   1728   
    ::std::option::Option::Some(input)
 1870   1729   
}
 1871   1730   
 1872   1731   
pub(crate) fn lens_describe_local_gateway_route_table_virtual_interface_group_associations_output_output_local_gateway_route_table_virtual_interface_group_associations(
 1873   1732   
    input: crate::operation::describe_local_gateway_route_table_virtual_interface_group_associations::DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput,
 1874   1733   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayRouteTableVirtualInterfaceGroupAssociation>> {
 1875         -
    let input = match input.local_gateway_route_table_virtual_interface_group_associations {
 1876         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1877         -
        ::std::option::Option::Some(t) => t,
 1878         -
    };
        1734  +
    let input = input.local_gateway_route_table_virtual_interface_group_associations?;
 1879   1735   
    ::std::option::Option::Some(input)
 1880   1736   
}
 1881   1737   
 1882   1738   
pub(crate) fn lens_describe_local_gateway_route_table_vpc_associations_output_output_local_gateway_route_table_vpc_associations(
 1883   1739   
    input: crate::operation::describe_local_gateway_route_table_vpc_associations::DescribeLocalGatewayRouteTableVpcAssociationsOutput,
 1884   1740   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayRouteTableVpcAssociation>> {
 1885         -
    let input = match input.local_gateway_route_table_vpc_associations {
 1886         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1887         -
        ::std::option::Option::Some(t) => t,
 1888         -
    };
        1741  +
    let input = input.local_gateway_route_table_vpc_associations?;
 1889   1742   
    ::std::option::Option::Some(input)
 1890   1743   
}
 1891   1744   
 1892   1745   
pub(crate) fn lens_describe_local_gateway_route_tables_output_output_local_gateway_route_tables(
 1893   1746   
    input: crate::operation::describe_local_gateway_route_tables::DescribeLocalGatewayRouteTablesOutput,
 1894   1747   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayRouteTable>> {
 1895         -
    let input = match input.local_gateway_route_tables {
 1896         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1897         -
        ::std::option::Option::Some(t) => t,
 1898         -
    };
        1748  +
    let input = input.local_gateway_route_tables?;
 1899   1749   
    ::std::option::Option::Some(input)
 1900   1750   
}
 1901   1751   
 1902   1752   
pub(crate) fn lens_describe_local_gateway_virtual_interface_groups_output_output_local_gateway_virtual_interface_groups(
 1903   1753   
    input: crate::operation::describe_local_gateway_virtual_interface_groups::DescribeLocalGatewayVirtualInterfaceGroupsOutput,
 1904   1754   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayVirtualInterfaceGroup>> {
 1905         -
    let input = match input.local_gateway_virtual_interface_groups {
 1906         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1907         -
        ::std::option::Option::Some(t) => t,
 1908         -
    };
        1755  +
    let input = input.local_gateway_virtual_interface_groups?;
 1909   1756   
    ::std::option::Option::Some(input)
 1910   1757   
}
 1911   1758   
 1912   1759   
pub(crate) fn lens_describe_local_gateway_virtual_interfaces_output_output_local_gateway_virtual_interfaces(
 1913   1760   
    input: crate::operation::describe_local_gateway_virtual_interfaces::DescribeLocalGatewayVirtualInterfacesOutput,
 1914   1761   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayVirtualInterface>> {
 1915         -
    let input = match input.local_gateway_virtual_interfaces {
 1916         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1917         -
        ::std::option::Option::Some(t) => t,
 1918         -
    };
        1762  +
    let input = input.local_gateway_virtual_interfaces?;
 1919   1763   
    ::std::option::Option::Some(input)
 1920   1764   
}
 1921   1765   
 1922   1766   
pub(crate) fn lens_describe_local_gateways_output_output_local_gateways(
 1923   1767   
    input: crate::operation::describe_local_gateways::DescribeLocalGatewaysOutput,
 1924   1768   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGateway>> {
 1925         -
    let input = match input.local_gateways {
 1926         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1927         -
        ::std::option::Option::Some(t) => t,
 1928         -
    };
        1769  +
    let input = input.local_gateways?;
 1929   1770   
    ::std::option::Option::Some(input)
 1930   1771   
}
 1931   1772   
 1932   1773   
pub(crate) fn lens_describe_mac_hosts_output_output_mac_hosts(
 1933   1774   
    input: crate::operation::describe_mac_hosts::DescribeMacHostsOutput,
 1934   1775   
) -> ::std::option::Option<::std::vec::Vec<crate::types::MacHost>> {
 1935         -
    let input = match input.mac_hosts {
 1936         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1937         -
        ::std::option::Option::Some(t) => t,
 1938         -
    };
        1776  +
    let input = input.mac_hosts?;
 1939   1777   
    ::std::option::Option::Some(input)
 1940   1778   
}
 1941   1779   
 1942   1780   
pub(crate) fn lens_describe_managed_prefix_lists_output_output_prefix_lists(
 1943   1781   
    input: crate::operation::describe_managed_prefix_lists::DescribeManagedPrefixListsOutput,
 1944   1782   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ManagedPrefixList>> {
 1945         -
    let input = match input.prefix_lists {
 1946         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1947         -
        ::std::option::Option::Some(t) => t,
 1948         -
    };
        1783  +
    let input = input.prefix_lists?;
 1949   1784   
    ::std::option::Option::Some(input)
 1950   1785   
}
 1951   1786   
 1952   1787   
pub(crate) fn lens_describe_moving_addresses_output_output_moving_address_statuses(
 1953   1788   
    input: crate::operation::describe_moving_addresses::DescribeMovingAddressesOutput,
 1954   1789   
) -> ::std::option::Option<::std::vec::Vec<crate::types::MovingAddressStatus>> {
 1955         -
    let input = match input.moving_address_statuses {
 1956         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1957         -
        ::std::option::Option::Some(t) => t,
 1958         -
    };
        1790  +
    let input = input.moving_address_statuses?;
 1959   1791   
    ::std::option::Option::Some(input)
 1960   1792   
}
 1961   1793   
 1962   1794   
pub(crate) fn lens_describe_nat_gateways_output_output_nat_gateways(
 1963   1795   
    input: crate::operation::describe_nat_gateways::DescribeNatGatewaysOutput,
 1964   1796   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NatGateway>> {
 1965         -
    let input = match input.nat_gateways {
 1966         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1967         -
        ::std::option::Option::Some(t) => t,
 1968         -
    };
        1797  +
    let input = input.nat_gateways?;
 1969   1798   
    ::std::option::Option::Some(input)
 1970   1799   
}
 1971   1800   
 1972   1801   
pub(crate) fn lens_describe_network_acls_output_output_network_acls(
 1973   1802   
    input: crate::operation::describe_network_acls::DescribeNetworkAclsOutput,
 1974   1803   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkAcl>> {
 1975         -
    let input = match input.network_acls {
 1976         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1977         -
        ::std::option::Option::Some(t) => t,
 1978         -
    };
        1804  +
    let input = input.network_acls?;
 1979   1805   
    ::std::option::Option::Some(input)
 1980   1806   
}
 1981   1807   
 1982   1808   
pub(crate) fn lens_describe_network_insights_access_scope_analyses_output_output_network_insights_access_scope_analyses(
 1983   1809   
    input: crate::operation::describe_network_insights_access_scope_analyses::DescribeNetworkInsightsAccessScopeAnalysesOutput,
 1984   1810   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInsightsAccessScopeAnalysis>> {
 1985         -
    let input = match input.network_insights_access_scope_analyses {
 1986         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1987         -
        ::std::option::Option::Some(t) => t,
 1988         -
    };
        1811  +
    let input = input.network_insights_access_scope_analyses?;
 1989   1812   
    ::std::option::Option::Some(input)
 1990   1813   
}
 1991   1814   
 1992   1815   
pub(crate) fn lens_describe_network_insights_access_scopes_output_output_network_insights_access_scopes(
 1993   1816   
    input: crate::operation::describe_network_insights_access_scopes::DescribeNetworkInsightsAccessScopesOutput,
 1994   1817   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInsightsAccessScope>> {
 1995         -
    let input = match input.network_insights_access_scopes {
 1996         -
        ::std::option::Option::None => return ::std::option::Option::None,
 1997         -
        ::std::option::Option::Some(t) => t,
 1998         -
    };
        1818  +
    let input = input.network_insights_access_scopes?;
 1999   1819   
    ::std::option::Option::Some(input)
 2000   1820   
}
 2001   1821   
 2002   1822   
pub(crate) fn lens_describe_network_insights_analyses_output_output_network_insights_analyses(
 2003   1823   
    input: crate::operation::describe_network_insights_analyses::DescribeNetworkInsightsAnalysesOutput,
 2004   1824   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInsightsAnalysis>> {
 2005         -
    let input = match input.network_insights_analyses {
 2006         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2007         -
        ::std::option::Option::Some(t) => t,
 2008         -
    };
        1825  +
    let input = input.network_insights_analyses?;
 2009   1826   
    ::std::option::Option::Some(input)
 2010   1827   
}
 2011   1828   
 2012   1829   
pub(crate) fn lens_describe_network_insights_paths_output_output_network_insights_paths(
 2013   1830   
    input: crate::operation::describe_network_insights_paths::DescribeNetworkInsightsPathsOutput,
 2014   1831   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInsightsPath>> {
 2015         -
    let input = match input.network_insights_paths {
 2016         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2017         -
        ::std::option::Option::Some(t) => t,
 2018         -
    };
        1832  +
    let input = input.network_insights_paths?;
 2019   1833   
    ::std::option::Option::Some(input)
 2020   1834   
}
 2021   1835   
 2022   1836   
pub(crate) fn lens_describe_network_interface_permissions_output_output_network_interface_permissions(
 2023   1837   
    input: crate::operation::describe_network_interface_permissions::DescribeNetworkInterfacePermissionsOutput,
 2024   1838   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInterfacePermission>> {
 2025         -
    let input = match input.network_interface_permissions {
 2026         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2027         -
        ::std::option::Option::Some(t) => t,
 2028         -
    };
        1839  +
    let input = input.network_interface_permissions?;
 2029   1840   
    ::std::option::Option::Some(input)
 2030   1841   
}
 2031   1842   
 2032   1843   
pub(crate) fn lens_describe_network_interfaces_output_output_network_interfaces(
 2033   1844   
    input: crate::operation::describe_network_interfaces::DescribeNetworkInterfacesOutput,
 2034   1845   
) -> ::std::option::Option<::std::vec::Vec<crate::types::NetworkInterface>> {
 2035         -
    let input = match input.network_interfaces {
 2036         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2037         -
        ::std::option::Option::Some(t) => t,
 2038         -
    };
        1846  +
    let input = input.network_interfaces?;
 2039   1847   
    ::std::option::Option::Some(input)
 2040   1848   
}
 2041   1849   
 2042   1850   
pub(crate) fn lens_describe_prefix_lists_output_output_prefix_lists(
 2043   1851   
    input: crate::operation::describe_prefix_lists::DescribePrefixListsOutput,
 2044   1852   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PrefixList>> {
 2045         -
    let input = match input.prefix_lists {
 2046         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2047         -
        ::std::option::Option::Some(t) => t,
 2048         -
    };
        1853  +
    let input = input.prefix_lists?;
 2049   1854   
    ::std::option::Option::Some(input)
 2050   1855   
}
 2051   1856   
 2052   1857   
pub(crate) fn lens_describe_principal_id_format_output_output_principals(
 2053   1858   
    input: crate::operation::describe_principal_id_format::DescribePrincipalIdFormatOutput,
 2054   1859   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PrincipalIdFormat>> {
 2055         -
    let input = match input.principals {
 2056         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2057         -
        ::std::option::Option::Some(t) => t,
 2058         -
    };
        1860  +
    let input = input.principals?;
 2059   1861   
    ::std::option::Option::Some(input)
 2060   1862   
}
 2061   1863   
 2062   1864   
pub(crate) fn lens_describe_public_ipv4_pools_output_output_public_ipv4_pools(
 2063   1865   
    input: crate::operation::describe_public_ipv4_pools::DescribePublicIpv4PoolsOutput,
 2064   1866   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PublicIpv4Pool>> {
 2065         -
    let input = match input.public_ipv4_pools {
 2066         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2067         -
        ::std::option::Option::Some(t) => t,
 2068         -
    };
        1867  +
    let input = input.public_ipv4_pools?;
 2069   1868   
    ::std::option::Option::Some(input)
 2070   1869   
}
 2071   1870   
 2072   1871   
pub(crate) fn lens_describe_replace_root_volume_tasks_output_output_replace_root_volume_tasks(
 2073   1872   
    input: crate::operation::describe_replace_root_volume_tasks::DescribeReplaceRootVolumeTasksOutput,
 2074   1873   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ReplaceRootVolumeTask>> {
 2075         -
    let input = match input.replace_root_volume_tasks {
 2076         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2077         -
        ::std::option::Option::Some(t) => t,
 2078         -
    };
        1874  +
    let input = input.replace_root_volume_tasks?;
 2079   1875   
    ::std::option::Option::Some(input)
 2080   1876   
}
 2081   1877   
 2082   1878   
pub(crate) fn lens_describe_reserved_instances_modifications_output_output_reserved_instances_modifications(
 2083   1879   
    input: crate::operation::describe_reserved_instances_modifications::DescribeReservedInstancesModificationsOutput,
 2084   1880   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ReservedInstancesModification>> {
 2085         -
    let input = match input.reserved_instances_modifications {
 2086         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2087         -
        ::std::option::Option::Some(t) => t,
 2088         -
    };
        1881  +
    let input = input.reserved_instances_modifications?;
 2089   1882   
    ::std::option::Option::Some(input)
 2090   1883   
}
 2091   1884   
 2092   1885   
pub(crate) fn lens_describe_reserved_instances_offerings_output_output_reserved_instances_offerings(
 2093   1886   
    input: crate::operation::describe_reserved_instances_offerings::DescribeReservedInstancesOfferingsOutput,
 2094   1887   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ReservedInstancesOffering>> {
 2095         -
    let input = match input.reserved_instances_offerings {
 2096         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2097         -
        ::std::option::Option::Some(t) => t,
 2098         -
    };
        1888  +
    let input = input.reserved_instances_offerings?;
 2099   1889   
    ::std::option::Option::Some(input)
 2100   1890   
}
 2101   1891   
 2102   1892   
pub(crate) fn lens_describe_route_tables_output_output_route_tables(
 2103   1893   
    input: crate::operation::describe_route_tables::DescribeRouteTablesOutput,
 2104   1894   
) -> ::std::option::Option<::std::vec::Vec<crate::types::RouteTable>> {
 2105         -
    let input = match input.route_tables {
 2106         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2107         -
        ::std::option::Option::Some(t) => t,
 2108         -
    };
        1895  +
    let input = input.route_tables?;
 2109   1896   
    ::std::option::Option::Some(input)
 2110   1897   
}
 2111   1898   
 2112   1899   
pub(crate) fn lens_describe_scheduled_instance_availability_output_output_scheduled_instance_availability_set(
 2113   1900   
    input: crate::operation::describe_scheduled_instance_availability::DescribeScheduledInstanceAvailabilityOutput,
 2114   1901   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstanceAvailability>> {
 2115         -
    let input = match input.scheduled_instance_availability_set {
 2116         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2117         -
        ::std::option::Option::Some(t) => t,
 2118         -
    };
        1902  +
    let input = input.scheduled_instance_availability_set?;
 2119   1903   
    ::std::option::Option::Some(input)
 2120   1904   
}
 2121   1905   
 2122   1906   
pub(crate) fn lens_describe_scheduled_instances_output_output_scheduled_instance_set(
 2123   1907   
    input: crate::operation::describe_scheduled_instances::DescribeScheduledInstancesOutput,
 2124   1908   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ScheduledInstance>> {
 2125         -
    let input = match input.scheduled_instance_set {
 2126         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2127         -
        ::std::option::Option::Some(t) => t,
 2128         -
    };
        1909  +
    let input = input.scheduled_instance_set?;
 2129   1910   
    ::std::option::Option::Some(input)
 2130   1911   
}
 2131   1912   
 2132   1913   
pub(crate) fn lens_describe_security_group_rules_output_output_security_group_rules(
 2133   1914   
    input: crate::operation::describe_security_group_rules::DescribeSecurityGroupRulesOutput,
 2134   1915   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroupRule>> {
 2135         -
    let input = match input.security_group_rules {
 2136         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2137         -
        ::std::option::Option::Some(t) => t,
 2138         -
    };
        1916  +
    let input = input.security_group_rules?;
 2139   1917   
    ::std::option::Option::Some(input)
 2140   1918   
}
 2141   1919   
 2142   1920   
pub(crate) fn lens_describe_security_groups_output_output_security_groups(
 2143   1921   
    input: crate::operation::describe_security_groups::DescribeSecurityGroupsOutput,
 2144   1922   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroup>> {
 2145         -
    let input = match input.security_groups {
 2146         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2147         -
        ::std::option::Option::Some(t) => t,
 2148         -
    };
        1923  +
    let input = input.security_groups?;
 2149   1924   
    ::std::option::Option::Some(input)
 2150   1925   
}
 2151   1926   
 2152   1927   
pub(crate) fn lens_describe_snapshot_tier_status_output_output_snapshot_tier_statuses(
 2153   1928   
    input: crate::operation::describe_snapshot_tier_status::DescribeSnapshotTierStatusOutput,
 2154   1929   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SnapshotTierStatus>> {
 2155         -
    let input = match input.snapshot_tier_statuses {
 2156         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2157         -
        ::std::option::Option::Some(t) => t,
 2158         -
    };
        1930  +
    let input = input.snapshot_tier_statuses?;
 2159   1931   
    ::std::option::Option::Some(input)
 2160   1932   
}
 2161   1933   
 2162   1934   
pub(crate) fn lens_describe_snapshots_output_output_snapshots(
 2163   1935   
    input: crate::operation::describe_snapshots::DescribeSnapshotsOutput,
 2164   1936   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Snapshot>> {
 2165         -
    let input = match input.snapshots {
 2166         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2167         -
        ::std::option::Option::Some(t) => t,
 2168         -
    };
        1937  +
    let input = input.snapshots?;
 2169   1938   
    ::std::option::Option::Some(input)
 2170   1939   
}
 2171   1940   
 2172   1941   
pub(crate) fn lens_describe_spot_fleet_requests_output_output_spot_fleet_request_configs(
 2173   1942   
    input: crate::operation::describe_spot_fleet_requests::DescribeSpotFleetRequestsOutput,
 2174   1943   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpotFleetRequestConfig>> {
 2175         -
    let input = match input.spot_fleet_request_configs {
 2176         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2177         -
        ::std::option::Option::Some(t) => t,
 2178         -
    };
        1944  +
    let input = input.spot_fleet_request_configs?;
 2179   1945   
    ::std::option::Option::Some(input)
 2180   1946   
}
 2181   1947   
 2182   1948   
pub(crate) fn lens_describe_spot_instance_requests_output_output_spot_instance_requests(
 2183   1949   
    input: crate::operation::describe_spot_instance_requests::DescribeSpotInstanceRequestsOutput,
 2184   1950   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpotInstanceRequest>> {
 2185         -
    let input = match input.spot_instance_requests {
 2186         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2187         -
        ::std::option::Option::Some(t) => t,
 2188         -
    };
        1951  +
    let input = input.spot_instance_requests?;
 2189   1952   
    ::std::option::Option::Some(input)
 2190   1953   
}
 2191   1954   
 2192   1955   
pub(crate) fn lens_describe_spot_price_history_output_output_spot_price_history(
 2193   1956   
    input: crate::operation::describe_spot_price_history::DescribeSpotPriceHistoryOutput,
 2194   1957   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpotPrice>> {
 2195         -
    let input = match input.spot_price_history {
 2196         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2197         -
        ::std::option::Option::Some(t) => t,
 2198         -
    };
        1958  +
    let input = input.spot_price_history?;
 2199   1959   
    ::std::option::Option::Some(input)
 2200   1960   
}
 2201   1961   
 2202   1962   
pub(crate) fn lens_describe_stale_security_groups_output_output_stale_security_group_set(
 2203   1963   
    input: crate::operation::describe_stale_security_groups::DescribeStaleSecurityGroupsOutput,
 2204   1964   
) -> ::std::option::Option<::std::vec::Vec<crate::types::StaleSecurityGroup>> {
 2205         -
    let input = match input.stale_security_group_set {
 2206         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2207         -
        ::std::option::Option::Some(t) => t,
 2208         -
    };
        1965  +
    let input = input.stale_security_group_set?;
 2209   1966   
    ::std::option::Option::Some(input)
 2210   1967   
}
 2211   1968   
 2212   1969   
pub(crate) fn lens_describe_store_image_tasks_output_output_store_image_task_results(
 2213   1970   
    input: crate::operation::describe_store_image_tasks::DescribeStoreImageTasksOutput,
 2214   1971   
) -> ::std::option::Option<::std::vec::Vec<crate::types::StoreImageTaskResult>> {
 2215         -
    let input = match input.store_image_task_results {
 2216         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2217         -
        ::std::option::Option::Some(t) => t,
 2218         -
    };
        1972  +
    let input = input.store_image_task_results?;
 2219   1973   
    ::std::option::Option::Some(input)
 2220   1974   
}
 2221   1975   
 2222   1976   
pub(crate) fn lens_describe_subnets_output_output_subnets(
 2223   1977   
    input: crate::operation::describe_subnets::DescribeSubnetsOutput,
 2224   1978   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Subnet>> {
 2225         -
    let input = match input.subnets {
 2226         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2227         -
        ::std::option::Option::Some(t) => t,
 2228         -
    };
        1979  +
    let input = input.subnets?;
 2229   1980   
    ::std::option::Option::Some(input)
 2230   1981   
}
 2231   1982   
 2232   1983   
pub(crate) fn lens_describe_tags_output_output_tags(
 2233   1984   
    input: crate::operation::describe_tags::DescribeTagsOutput,
 2234   1985   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TagDescription>> {
 2235         -
    let input = match input.tags {
 2236         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2237         -
        ::std::option::Option::Some(t) => t,
 2238         -
    };
        1986  +
    let input = input.tags?;
 2239   1987   
    ::std::option::Option::Some(input)
 2240   1988   
}
 2241   1989   
 2242   1990   
pub(crate) fn lens_describe_traffic_mirror_filters_output_output_traffic_mirror_filters(
 2243   1991   
    input: crate::operation::describe_traffic_mirror_filters::DescribeTrafficMirrorFiltersOutput,
 2244   1992   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TrafficMirrorFilter>> {
 2245         -
    let input = match input.traffic_mirror_filters {
 2246         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2247         -
        ::std::option::Option::Some(t) => t,
 2248         -
    };
        1993  +
    let input = input.traffic_mirror_filters?;
 2249   1994   
    ::std::option::Option::Some(input)
 2250   1995   
}
 2251   1996   
 2252   1997   
pub(crate) fn lens_describe_traffic_mirror_sessions_output_output_traffic_mirror_sessions(
 2253   1998   
    input: crate::operation::describe_traffic_mirror_sessions::DescribeTrafficMirrorSessionsOutput,
 2254   1999   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TrafficMirrorSession>> {
 2255         -
    let input = match input.traffic_mirror_sessions {
 2256         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2257         -
        ::std::option::Option::Some(t) => t,
 2258         -
    };
        2000  +
    let input = input.traffic_mirror_sessions?;
 2259   2001   
    ::std::option::Option::Some(input)
 2260   2002   
}
 2261   2003   
 2262   2004   
pub(crate) fn lens_describe_traffic_mirror_targets_output_output_traffic_mirror_targets(
 2263   2005   
    input: crate::operation::describe_traffic_mirror_targets::DescribeTrafficMirrorTargetsOutput,
 2264   2006   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TrafficMirrorTarget>> {
 2265         -
    let input = match input.traffic_mirror_targets {
 2266         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2267         -
        ::std::option::Option::Some(t) => t,
 2268         -
    };
        2007  +
    let input = input.traffic_mirror_targets?;
 2269   2008   
    ::std::option::Option::Some(input)
 2270   2009   
}
 2271   2010   
 2272   2011   
pub(crate) fn lens_describe_transit_gateway_attachments_output_output_transit_gateway_attachments(
 2273   2012   
    input: crate::operation::describe_transit_gateway_attachments::DescribeTransitGatewayAttachmentsOutput,
 2274   2013   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayAttachment>> {
 2275         -
    let input = match input.transit_gateway_attachments {
 2276         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2277         -
        ::std::option::Option::Some(t) => t,
 2278         -
    };
        2014  +
    let input = input.transit_gateway_attachments?;
 2279   2015   
    ::std::option::Option::Some(input)
 2280   2016   
}
 2281   2017   
 2282   2018   
pub(crate) fn lens_describe_transit_gateway_connect_peers_output_output_transit_gateway_connect_peers(
 2283   2019   
    input: crate::operation::describe_transit_gateway_connect_peers::DescribeTransitGatewayConnectPeersOutput,
 2284   2020   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayConnectPeer>> {
 2285         -
    let input = match input.transit_gateway_connect_peers {
 2286         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2287         -
        ::std::option::Option::Some(t) => t,
 2288         -
    };
        2021  +
    let input = input.transit_gateway_connect_peers?;
 2289   2022   
    ::std::option::Option::Some(input)
 2290   2023   
}
 2291   2024   
 2292   2025   
pub(crate) fn lens_describe_transit_gateway_connects_output_output_transit_gateway_connects(
 2293   2026   
    input: crate::operation::describe_transit_gateway_connects::DescribeTransitGatewayConnectsOutput,
 2294   2027   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayConnect>> {
 2295         -
    let input = match input.transit_gateway_connects {
 2296         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2297         -
        ::std::option::Option::Some(t) => t,
 2298         -
    };
        2028  +
    let input = input.transit_gateway_connects?;
 2299   2029   
    ::std::option::Option::Some(input)
 2300   2030   
}
 2301   2031   
 2302   2032   
pub(crate) fn lens_describe_transit_gateway_multicast_domains_output_output_transit_gateway_multicast_domains(
 2303   2033   
    input: crate::operation::describe_transit_gateway_multicast_domains::DescribeTransitGatewayMulticastDomainsOutput,
 2304   2034   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayMulticastDomain>> {
 2305         -
    let input = match input.transit_gateway_multicast_domains {
 2306         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2307         -
        ::std::option::Option::Some(t) => t,
 2308         -
    };
        2035  +
    let input = input.transit_gateway_multicast_domains?;
 2309   2036   
    ::std::option::Option::Some(input)
 2310   2037   
}
 2311   2038   
 2312   2039   
pub(crate) fn lens_describe_transit_gateway_peering_attachments_output_output_transit_gateway_peering_attachments(
 2313   2040   
    input: crate::operation::describe_transit_gateway_peering_attachments::DescribeTransitGatewayPeeringAttachmentsOutput,
 2314   2041   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayPeeringAttachment>> {
 2315         -
    let input = match input.transit_gateway_peering_attachments {
 2316         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2317         -
        ::std::option::Option::Some(t) => t,
 2318         -
    };
        2042  +
    let input = input.transit_gateway_peering_attachments?;
 2319   2043   
    ::std::option::Option::Some(input)
 2320   2044   
}
 2321   2045   
 2322   2046   
pub(crate) fn lens_describe_transit_gateway_policy_tables_output_output_transit_gateway_policy_tables(
 2323   2047   
    input: crate::operation::describe_transit_gateway_policy_tables::DescribeTransitGatewayPolicyTablesOutput,
 2324   2048   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayPolicyTable>> {
 2325         -
    let input = match input.transit_gateway_policy_tables {
 2326         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2327         -
        ::std::option::Option::Some(t) => t,
 2328         -
    };
        2049  +
    let input = input.transit_gateway_policy_tables?;
 2329   2050   
    ::std::option::Option::Some(input)
 2330   2051   
}
 2331   2052   
 2332   2053   
pub(crate) fn lens_describe_transit_gateway_route_table_announcements_output_output_transit_gateway_route_table_announcements(
 2333   2054   
    input: crate::operation::describe_transit_gateway_route_table_announcements::DescribeTransitGatewayRouteTableAnnouncementsOutput,
 2334   2055   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayRouteTableAnnouncement>> {
 2335         -
    let input = match input.transit_gateway_route_table_announcements {
 2336         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2337         -
        ::std::option::Option::Some(t) => t,
 2338         -
    };
        2056  +
    let input = input.transit_gateway_route_table_announcements?;
 2339   2057   
    ::std::option::Option::Some(input)
 2340   2058   
}
 2341   2059   
 2342   2060   
pub(crate) fn lens_describe_transit_gateway_route_tables_output_output_transit_gateway_route_tables(
 2343   2061   
    input: crate::operation::describe_transit_gateway_route_tables::DescribeTransitGatewayRouteTablesOutput,
 2344   2062   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayRouteTable>> {
 2345         -
    let input = match input.transit_gateway_route_tables {
 2346         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2347         -
        ::std::option::Option::Some(t) => t,
 2348         -
    };
        2063  +
    let input = input.transit_gateway_route_tables?;
 2349   2064   
    ::std::option::Option::Some(input)
 2350   2065   
}
 2351   2066   
 2352   2067   
pub(crate) fn lens_describe_transit_gateway_vpc_attachments_output_output_transit_gateway_vpc_attachments(
 2353   2068   
    input: crate::operation::describe_transit_gateway_vpc_attachments::DescribeTransitGatewayVpcAttachmentsOutput,
 2354   2069   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayVpcAttachment>> {
 2355         -
    let input = match input.transit_gateway_vpc_attachments {
 2356         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2357         -
        ::std::option::Option::Some(t) => t,
 2358         -
    };
        2070  +
    let input = input.transit_gateway_vpc_attachments?;
 2359   2071   
    ::std::option::Option::Some(input)
 2360   2072   
}
 2361   2073   
 2362   2074   
pub(crate) fn lens_describe_transit_gateways_output_output_transit_gateways(
 2363   2075   
    input: crate::operation::describe_transit_gateways::DescribeTransitGatewaysOutput,
 2364   2076   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGateway>> {
 2365         -
    let input = match input.transit_gateways {
 2366         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2367         -
        ::std::option::Option::Some(t) => t,
 2368         -
    };
        2077  +
    let input = input.transit_gateways?;
 2369   2078   
    ::std::option::Option::Some(input)
 2370   2079   
}
 2371   2080   
 2372   2081   
pub(crate) fn lens_describe_trunk_interface_associations_output_output_interface_associations(
 2373   2082   
    input: crate::operation::describe_trunk_interface_associations::DescribeTrunkInterfaceAssociationsOutput,
 2374   2083   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TrunkInterfaceAssociation>> {
 2375         -
    let input = match input.interface_associations {
 2376         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2377         -
        ::std::option::Option::Some(t) => t,
 2378         -
    };
        2084  +
    let input = input.interface_associations?;
 2379   2085   
    ::std::option::Option::Some(input)
 2380   2086   
}
 2381   2087   
 2382   2088   
pub(crate) fn lens_describe_verified_access_endpoints_output_output_verified_access_endpoints(
 2383   2089   
    input: crate::operation::describe_verified_access_endpoints::DescribeVerifiedAccessEndpointsOutput,
 2384   2090   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessEndpoint>> {
 2385         -
    let input = match input.verified_access_endpoints {
 2386         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2387         -
        ::std::option::Option::Some(t) => t,
 2388         -
    };
        2091  +
    let input = input.verified_access_endpoints?;
 2389   2092   
    ::std::option::Option::Some(input)
 2390   2093   
}
 2391   2094   
 2392   2095   
pub(crate) fn lens_describe_verified_access_groups_output_output_verified_access_groups(
 2393   2096   
    input: crate::operation::describe_verified_access_groups::DescribeVerifiedAccessGroupsOutput,
 2394   2097   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessGroup>> {
 2395         -
    let input = match input.verified_access_groups {
 2396         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2397         -
        ::std::option::Option::Some(t) => t,
 2398         -
    };
        2098  +
    let input = input.verified_access_groups?;
 2399   2099   
    ::std::option::Option::Some(input)
 2400   2100   
}
 2401   2101   
 2402   2102   
pub(crate) fn lens_describe_verified_access_instance_logging_configurations_output_output_logging_configurations(
 2403   2103   
    input: crate::operation::describe_verified_access_instance_logging_configurations::DescribeVerifiedAccessInstanceLoggingConfigurationsOutput,
 2404   2104   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessInstanceLoggingConfiguration>> {
 2405         -
    let input = match input.logging_configurations {
 2406         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2407         -
        ::std::option::Option::Some(t) => t,
 2408         -
    };
        2105  +
    let input = input.logging_configurations?;
 2409   2106   
    ::std::option::Option::Some(input)
 2410   2107   
}
 2411   2108   
 2412   2109   
pub(crate) fn lens_describe_verified_access_instances_output_output_verified_access_instances(
 2413   2110   
    input: crate::operation::describe_verified_access_instances::DescribeVerifiedAccessInstancesOutput,
 2414   2111   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessInstance>> {
 2415         -
    let input = match input.verified_access_instances {
 2416         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2417         -
        ::std::option::Option::Some(t) => t,
 2418         -
    };
        2112  +
    let input = input.verified_access_instances?;
 2419   2113   
    ::std::option::Option::Some(input)
 2420   2114   
}
 2421   2115   
 2422   2116   
pub(crate) fn lens_describe_verified_access_trust_providers_output_output_verified_access_trust_providers(
 2423   2117   
    input: crate::operation::describe_verified_access_trust_providers::DescribeVerifiedAccessTrustProvidersOutput,
 2424   2118   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessTrustProvider>> {
 2425         -
    let input = match input.verified_access_trust_providers {
 2426         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2427         -
        ::std::option::Option::Some(t) => t,
 2428         -
    };
        2119  +
    let input = input.verified_access_trust_providers?;
 2429   2120   
    ::std::option::Option::Some(input)
 2430   2121   
}
 2431   2122   
 2432   2123   
pub(crate) fn lens_describe_volume_status_output_output_volume_statuses(
 2433   2124   
    input: crate::operation::describe_volume_status::DescribeVolumeStatusOutput,
 2434   2125   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VolumeStatusItem>> {
 2435         -
    let input = match input.volume_statuses {
 2436         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2437         -
        ::std::option::Option::Some(t) => t,
 2438         -
    };
        2126  +
    let input = input.volume_statuses?;
 2439   2127   
    ::std::option::Option::Some(input)
 2440   2128   
}
 2441   2129   
 2442   2130   
pub(crate) fn lens_describe_volumes_output_output_volumes(
 2443   2131   
    input: crate::operation::describe_volumes::DescribeVolumesOutput,
 2444   2132   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Volume>> {
 2445         -
    let input = match input.volumes {
 2446         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2447         -
        ::std::option::Option::Some(t) => t,
 2448         -
    };
        2133  +
    let input = input.volumes?;
 2449   2134   
    ::std::option::Option::Some(input)
 2450   2135   
}
 2451   2136   
 2452   2137   
pub(crate) fn lens_describe_volumes_modifications_output_output_volumes_modifications(
 2453   2138   
    input: crate::operation::describe_volumes_modifications::DescribeVolumesModificationsOutput,
 2454   2139   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VolumeModification>> {
 2455         -
    let input = match input.volumes_modifications {
 2456         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2457         -
        ::std::option::Option::Some(t) => t,
 2458         -
    };
        2140  +
    let input = input.volumes_modifications?;
 2459   2141   
    ::std::option::Option::Some(input)
 2460   2142   
}
 2461   2143   
 2462   2144   
pub(crate) fn lens_describe_vpc_classic_link_dns_support_output_output_vpcs(
 2463   2145   
    input: crate::operation::describe_vpc_classic_link_dns_support::DescribeVpcClassicLinkDnsSupportOutput,
 2464   2146   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ClassicLinkDnsSupport>> {
 2465         -
    let input = match input.vpcs {
 2466         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2467         -
        ::std::option::Option::Some(t) => t,
 2468         -
    };
        2147  +
    let input = input.vpcs?;
 2469   2148   
    ::std::option::Option::Some(input)
 2470   2149   
}
 2471   2150   
 2472   2151   
pub(crate) fn lens_describe_vpc_endpoint_connection_notifications_output_output_connection_notification_set(
 2473   2152   
    input: crate::operation::describe_vpc_endpoint_connection_notifications::DescribeVpcEndpointConnectionNotificationsOutput,
 2474   2153   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ConnectionNotification>> {
 2475         -
    let input = match input.connection_notification_set {
 2476         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2477         -
        ::std::option::Option::Some(t) => t,
 2478         -
    };
        2154  +
    let input = input.connection_notification_set?;
 2479   2155   
    ::std::option::Option::Some(input)
 2480   2156   
}
 2481   2157   
 2482   2158   
pub(crate) fn lens_describe_vpc_endpoint_connections_output_output_vpc_endpoint_connections(
 2483   2159   
    input: crate::operation::describe_vpc_endpoint_connections::DescribeVpcEndpointConnectionsOutput,
 2484   2160   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VpcEndpointConnection>> {
 2485         -
    let input = match input.vpc_endpoint_connections {
 2486         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2487         -
        ::std::option::Option::Some(t) => t,
 2488         -
    };
        2161  +
    let input = input.vpc_endpoint_connections?;
 2489   2162   
    ::std::option::Option::Some(input)
 2490   2163   
}
 2491   2164   
 2492   2165   
pub(crate) fn lens_describe_vpc_endpoint_service_configurations_output_output_service_configurations(
 2493   2166   
    input: crate::operation::describe_vpc_endpoint_service_configurations::DescribeVpcEndpointServiceConfigurationsOutput,
 2494   2167   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ServiceConfiguration>> {
 2495         -
    let input = match input.service_configurations {
 2496         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2497         -
        ::std::option::Option::Some(t) => t,
 2498         -
    };
        2168  +
    let input = input.service_configurations?;
 2499   2169   
    ::std::option::Option::Some(input)
 2500   2170   
}
 2501   2171   
 2502   2172   
pub(crate) fn lens_describe_vpc_endpoint_service_permissions_output_output_allowed_principals(
 2503   2173   
    input: crate::operation::describe_vpc_endpoint_service_permissions::DescribeVpcEndpointServicePermissionsOutput,
 2504   2174   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AllowedPrincipal>> {
 2505         -
    let input = match input.allowed_principals {
 2506         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2507         -
        ::std::option::Option::Some(t) => t,
 2508         -
    };
        2175  +
    let input = input.allowed_principals?;
 2509   2176   
    ::std::option::Option::Some(input)
 2510   2177   
}
 2511   2178   
 2512   2179   
pub(crate) fn lens_describe_vpc_endpoints_output_output_vpc_endpoints(
 2513   2180   
    input: crate::operation::describe_vpc_endpoints::DescribeVpcEndpointsOutput,
 2514   2181   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VpcEndpoint>> {
 2515         -
    let input = match input.vpc_endpoints {
 2516         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2517         -
        ::std::option::Option::Some(t) => t,
 2518         -
    };
        2182  +
    let input = input.vpc_endpoints?;
 2519   2183   
    ::std::option::Option::Some(input)
 2520   2184   
}
 2521   2185   
 2522   2186   
pub(crate) fn lens_describe_vpc_peering_connections_output_output_vpc_peering_connections(
 2523   2187   
    input: crate::operation::describe_vpc_peering_connections::DescribeVpcPeeringConnectionsOutput,
 2524   2188   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VpcPeeringConnection>> {
 2525         -
    let input = match input.vpc_peering_connections {
 2526         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2527         -
        ::std::option::Option::Some(t) => t,
 2528         -
    };
        2189  +
    let input = input.vpc_peering_connections?;
 2529   2190   
    ::std::option::Option::Some(input)
 2530   2191   
}
 2531   2192   
 2532   2193   
pub(crate) fn lens_describe_vpcs_output_output_vpcs(
 2533   2194   
    input: crate::operation::describe_vpcs::DescribeVpcsOutput,
 2534   2195   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Vpc>> {
 2535         -
    let input = match input.vpcs {
 2536         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2537         -
        ::std::option::Option::Some(t) => t,
 2538         -
    };
        2196  +
    let input = input.vpcs?;
 2539   2197   
    ::std::option::Option::Some(input)
 2540   2198   
}
 2541   2199   
 2542   2200   
pub(crate) fn lens_get_associated_ipv6_pool_cidrs_output_output_ipv6_cidr_associations(
 2543   2201   
    input: crate::operation::get_associated_ipv6_pool_cidrs::GetAssociatedIpv6PoolCidrsOutput,
 2544   2202   
) -> ::std::option::Option<::std::vec::Vec<crate::types::Ipv6CidrAssociation>> {
 2545         -
    let input = match input.ipv6_cidr_associations {
 2546         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2547         -
        ::std::option::Option::Some(t) => t,
 2548         -
    };
        2203  +
    let input = input.ipv6_cidr_associations?;
 2549   2204   
    ::std::option::Option::Some(input)
 2550   2205   
}
 2551   2206   
 2552   2207   
pub(crate) fn lens_get_aws_network_performance_data_output_output_data_responses(
 2553   2208   
    input: crate::operation::get_aws_network_performance_data::GetAwsNetworkPerformanceDataOutput,
 2554   2209   
) -> ::std::option::Option<::std::vec::Vec<crate::types::DataResponse>> {
 2555         -
    let input = match input.data_responses {
 2556         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2557         -
        ::std::option::Option::Some(t) => t,
 2558         -
    };
        2210  +
    let input = input.data_responses?;
 2559   2211   
    ::std::option::Option::Some(input)
 2560   2212   
}
 2561   2213   
 2562   2214   
pub(crate) fn lens_get_groups_for_capacity_reservation_output_output_capacity_reservation_groups(
 2563   2215   
    input: crate::operation::get_groups_for_capacity_reservation::GetGroupsForCapacityReservationOutput,
 2564   2216   
) -> ::std::option::Option<::std::vec::Vec<crate::types::CapacityReservationGroup>> {
 2565         -
    let input = match input.capacity_reservation_groups {
 2566         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2567         -
        ::std::option::Option::Some(t) => t,
 2568         -
    };
        2217  +
    let input = input.capacity_reservation_groups?;
 2569   2218   
    ::std::option::Option::Some(input)
 2570   2219   
}
 2571   2220   
 2572   2221   
pub(crate) fn lens_get_instance_types_from_instance_requirements_output_output_instance_types(
 2573   2222   
    input: crate::operation::get_instance_types_from_instance_requirements::GetInstanceTypesFromInstanceRequirementsOutput,
 2574   2223   
) -> ::std::option::Option<::std::vec::Vec<crate::types::InstanceTypeInfoFromInstanceRequirements>> {
 2575         -
    let input = match input.instance_types {
 2576         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2577         -
        ::std::option::Option::Some(t) => t,
 2578         -
    };
        2224  +
    let input = input.instance_types?;
 2579   2225   
    ::std::option::Option::Some(input)
 2580   2226   
}
 2581   2227   
 2582   2228   
pub(crate) fn lens_get_ipam_address_history_output_output_history_records(
 2583   2229   
    input: crate::operation::get_ipam_address_history::GetIpamAddressHistoryOutput,
 2584   2230   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamAddressHistoryRecord>> {
 2585         -
    let input = match input.history_records {
 2586         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2587         -
        ::std::option::Option::Some(t) => t,
 2588         -
    };
        2231  +
    let input = input.history_records?;
 2589   2232   
    ::std::option::Option::Some(input)
 2590   2233   
}
 2591   2234   
 2592   2235   
pub(crate) fn lens_get_ipam_discovered_accounts_output_output_ipam_discovered_accounts(
 2593   2236   
    input: crate::operation::get_ipam_discovered_accounts::GetIpamDiscoveredAccountsOutput,
 2594   2237   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamDiscoveredAccount>> {
 2595         -
    let input = match input.ipam_discovered_accounts {
 2596         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2597         -
        ::std::option::Option::Some(t) => t,
 2598         -
    };
        2238  +
    let input = input.ipam_discovered_accounts?;
 2599   2239   
    ::std::option::Option::Some(input)
 2600   2240   
}
 2601   2241   
 2602   2242   
pub(crate) fn lens_get_ipam_discovered_resource_cidrs_output_output_ipam_discovered_resource_cidrs(
 2603   2243   
    input: crate::operation::get_ipam_discovered_resource_cidrs::GetIpamDiscoveredResourceCidrsOutput,
 2604   2244   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamDiscoveredResourceCidr>> {
 2605         -
    let input = match input.ipam_discovered_resource_cidrs {
 2606         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2607         -
        ::std::option::Option::Some(t) => t,
 2608         -
    };
        2245  +
    let input = input.ipam_discovered_resource_cidrs?;
 2609   2246   
    ::std::option::Option::Some(input)
 2610   2247   
}
 2611   2248   
 2612   2249   
pub(crate) fn lens_get_ipam_pool_allocations_output_output_ipam_pool_allocations(
 2613   2250   
    input: crate::operation::get_ipam_pool_allocations::GetIpamPoolAllocationsOutput,
 2614   2251   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamPoolAllocation>> {
 2615         -
    let input = match input.ipam_pool_allocations {
 2616         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2617         -
        ::std::option::Option::Some(t) => t,
 2618         -
    };
        2252  +
    let input = input.ipam_pool_allocations?;
 2619   2253   
    ::std::option::Option::Some(input)
 2620   2254   
}
 2621   2255   
 2622   2256   
pub(crate) fn lens_get_ipam_pool_cidrs_output_output_ipam_pool_cidrs(
 2623   2257   
    input: crate::operation::get_ipam_pool_cidrs::GetIpamPoolCidrsOutput,
 2624   2258   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamPoolCidr>> {
 2625         -
    let input = match input.ipam_pool_cidrs {
 2626         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2627         -
        ::std::option::Option::Some(t) => t,
 2628         -
    };
        2259  +
    let input = input.ipam_pool_cidrs?;
 2629   2260   
    ::std::option::Option::Some(input)
 2630   2261   
}
 2631   2262   
 2632   2263   
pub(crate) fn lens_get_ipam_resource_cidrs_output_output_ipam_resource_cidrs(
 2633   2264   
    input: crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsOutput,
 2634   2265   
) -> ::std::option::Option<::std::vec::Vec<crate::types::IpamResourceCidr>> {
 2635         -
    let input = match input.ipam_resource_cidrs {
 2636         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2637         -
        ::std::option::Option::Some(t) => t,
 2638         -
    };
        2266  +
    let input = input.ipam_resource_cidrs?;
 2639   2267   
    ::std::option::Option::Some(input)
 2640   2268   
}
 2641   2269   
 2642   2270   
pub(crate) fn lens_get_managed_prefix_list_associations_output_output_prefix_list_associations(
 2643   2271   
    input: crate::operation::get_managed_prefix_list_associations::GetManagedPrefixListAssociationsOutput,
 2644   2272   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PrefixListAssociation>> {
 2645         -
    let input = match input.prefix_list_associations {
 2646         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2647         -
        ::std::option::Option::Some(t) => t,
 2648         -
    };
        2273  +
    let input = input.prefix_list_associations?;
 2649   2274   
    ::std::option::Option::Some(input)
 2650   2275   
}
 2651   2276   
 2652   2277   
pub(crate) fn lens_get_managed_prefix_list_entries_output_output_entries(
 2653   2278   
    input: crate::operation::get_managed_prefix_list_entries::GetManagedPrefixListEntriesOutput,
 2654   2279   
) -> ::std::option::Option<::std::vec::Vec<crate::types::PrefixListEntry>> {
 2655         -
    let input = match input.entries {
 2656         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2657         -
        ::std::option::Option::Some(t) => t,
 2658         -
    };
        2280  +
    let input = input.entries?;
 2659   2281   
    ::std::option::Option::Some(input)
 2660   2282   
}
 2661   2283   
 2662   2284   
pub(crate) fn lens_get_network_insights_access_scope_analysis_findings_output_output_analysis_findings(
 2663   2285   
    input: crate::operation::get_network_insights_access_scope_analysis_findings::GetNetworkInsightsAccessScopeAnalysisFindingsOutput,
 2664   2286   
) -> ::std::option::Option<::std::vec::Vec<crate::types::AccessScopeAnalysisFinding>> {
 2665         -
    let input = match input.analysis_findings {
 2666         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2667         -
        ::std::option::Option::Some(t) => t,
 2668         -
    };
        2287  +
    let input = input.analysis_findings?;
 2669   2288   
    ::std::option::Option::Some(input)
 2670   2289   
}
 2671   2290   
 2672   2291   
pub(crate) fn lens_get_security_groups_for_vpc_output_output_security_group_for_vpcs(
 2673   2292   
    input: crate::operation::get_security_groups_for_vpc::GetSecurityGroupsForVpcOutput,
 2674   2293   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroupForVpc>> {
 2675         -
    let input = match input.security_group_for_vpcs {
 2676         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2677         -
        ::std::option::Option::Some(t) => t,
 2678         -
    };
        2294  +
    let input = input.security_group_for_vpcs?;
 2679   2295   
    ::std::option::Option::Some(input)
 2680   2296   
}
 2681   2297   
 2682   2298   
pub(crate) fn lens_get_spot_placement_scores_output_output_spot_placement_scores(
 2683   2299   
    input: crate::operation::get_spot_placement_scores::GetSpotPlacementScoresOutput,
 2684   2300   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SpotPlacementScore>> {
 2685         -
    let input = match input.spot_placement_scores {
 2686         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2687         -
        ::std::option::Option::Some(t) => t,
 2688         -
    };
        2301  +
    let input = input.spot_placement_scores?;
 2689   2302   
    ::std::option::Option::Some(input)
 2690   2303   
}
 2691   2304   
 2692   2305   
pub(crate) fn lens_get_transit_gateway_attachment_propagations_output_output_transit_gateway_attachment_propagations(
 2693   2306   
    input: crate::operation::get_transit_gateway_attachment_propagations::GetTransitGatewayAttachmentPropagationsOutput,
 2694   2307   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayAttachmentPropagation>> {
 2695         -
    let input = match input.transit_gateway_attachment_propagations {
 2696         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2697         -
        ::std::option::Option::Some(t) => t,
 2698         -
    };
        2308  +
    let input = input.transit_gateway_attachment_propagations?;
 2699   2309   
    ::std::option::Option::Some(input)
 2700   2310   
}
 2701   2311   
 2702   2312   
pub(crate) fn lens_get_transit_gateway_multicast_domain_associations_output_output_multicast_domain_associations(
 2703   2313   
    input: crate::operation::get_transit_gateway_multicast_domain_associations::GetTransitGatewayMulticastDomainAssociationsOutput,
 2704   2314   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayMulticastDomainAssociation>> {
 2705         -
    let input = match input.multicast_domain_associations {
 2706         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2707         -
        ::std::option::Option::Some(t) => t,
 2708         -
    };
        2315  +
    let input = input.multicast_domain_associations?;
 2709   2316   
    ::std::option::Option::Some(input)
 2710   2317   
}
 2711   2318   
 2712   2319   
pub(crate) fn lens_get_transit_gateway_policy_table_associations_output_output_associations(
 2713   2320   
    input: crate::operation::get_transit_gateway_policy_table_associations::GetTransitGatewayPolicyTableAssociationsOutput,
 2714   2321   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayPolicyTableAssociation>> {
 2715         -
    let input = match input.associations {
 2716         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2717         -
        ::std::option::Option::Some(t) => t,
 2718         -
    };
        2322  +
    let input = input.associations?;
 2719   2323   
    ::std::option::Option::Some(input)
 2720   2324   
}
 2721   2325   
 2722   2326   
pub(crate) fn lens_get_transit_gateway_prefix_list_references_output_output_transit_gateway_prefix_list_references(
 2723   2327   
    input: crate::operation::get_transit_gateway_prefix_list_references::GetTransitGatewayPrefixListReferencesOutput,
 2724   2328   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayPrefixListReference>> {
 2725         -
    let input = match input.transit_gateway_prefix_list_references {
 2726         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2727         -
        ::std::option::Option::Some(t) => t,
 2728         -
    };
        2329  +
    let input = input.transit_gateway_prefix_list_references?;
 2729   2330   
    ::std::option::Option::Some(input)
 2730   2331   
}
 2731   2332   
 2732   2333   
pub(crate) fn lens_get_transit_gateway_route_table_associations_output_output_associations(
 2733   2334   
    input: crate::operation::get_transit_gateway_route_table_associations::GetTransitGatewayRouteTableAssociationsOutput,
 2734   2335   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayRouteTableAssociation>> {
 2735         -
    let input = match input.associations {
 2736         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2737         -
        ::std::option::Option::Some(t) => t,
 2738         -
    };
        2336  +
    let input = input.associations?;
 2739   2337   
    ::std::option::Option::Some(input)
 2740   2338   
}
 2741   2339   
 2742   2340   
pub(crate) fn lens_get_transit_gateway_route_table_propagations_output_output_transit_gateway_route_table_propagations(
 2743   2341   
    input: crate::operation::get_transit_gateway_route_table_propagations::GetTransitGatewayRouteTablePropagationsOutput,
 2744   2342   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayRouteTablePropagation>> {
 2745         -
    let input = match input.transit_gateway_route_table_propagations {
 2746         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2747         -
        ::std::option::Option::Some(t) => t,
 2748         -
    };
        2343  +
    let input = input.transit_gateway_route_table_propagations?;
 2749   2344   
    ::std::option::Option::Some(input)
 2750   2345   
}
 2751   2346   
 2752   2347   
pub(crate) fn lens_get_vpn_connection_device_types_output_output_vpn_connection_device_types(
 2753   2348   
    input: crate::operation::get_vpn_connection_device_types::GetVpnConnectionDeviceTypesOutput,
 2754   2349   
) -> ::std::option::Option<::std::vec::Vec<crate::types::VpnConnectionDeviceType>> {
 2755         -
    let input = match input.vpn_connection_device_types {
 2756         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2757         -
        ::std::option::Option::Some(t) => t,
 2758         -
    };
        2350  +
    let input = input.vpn_connection_device_types?;
 2759   2351   
    ::std::option::Option::Some(input)
 2760   2352   
}
 2761   2353   
 2762   2354   
pub(crate) fn lens_list_images_in_recycle_bin_output_output_images(
 2763   2355   
    input: crate::operation::list_images_in_recycle_bin::ListImagesInRecycleBinOutput,
 2764   2356   
) -> ::std::option::Option<::std::vec::Vec<crate::types::ImageRecycleBinInfo>> {
 2765         -
    let input = match input.images {
 2766         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2767         -
        ::std::option::Option::Some(t) => t,
 2768         -
    };
        2357  +
    let input = input.images?;
 2769   2358   
    ::std::option::Option::Some(input)
 2770   2359   
}
 2771   2360   
 2772   2361   
pub(crate) fn lens_list_snapshots_in_recycle_bin_output_output_snapshots(
 2773   2362   
    input: crate::operation::list_snapshots_in_recycle_bin::ListSnapshotsInRecycleBinOutput,
 2774   2363   
) -> ::std::option::Option<::std::vec::Vec<crate::types::SnapshotRecycleBinInfo>> {
 2775         -
    let input = match input.snapshots {
 2776         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2777         -
        ::std::option::Option::Some(t) => t,
 2778         -
    };
        2364  +
    let input = input.snapshots?;
 2779   2365   
    ::std::option::Option::Some(input)
 2780   2366   
}
 2781   2367   
 2782   2368   
pub(crate) fn lens_search_local_gateway_routes_output_output_routes(
 2783   2369   
    input: crate::operation::search_local_gateway_routes::SearchLocalGatewayRoutesOutput,
 2784   2370   
) -> ::std::option::Option<::std::vec::Vec<crate::types::LocalGatewayRoute>> {
 2785         -
    let input = match input.routes {
 2786         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2787         -
        ::std::option::Option::Some(t) => t,
 2788         -
    };
        2371  +
    let input = input.routes?;
 2789   2372   
    ::std::option::Option::Some(input)
 2790   2373   
}
 2791   2374   
 2792   2375   
pub(crate) fn lens_search_transit_gateway_multicast_groups_output_output_multicast_groups(
 2793   2376   
    input: crate::operation::search_transit_gateway_multicast_groups::SearchTransitGatewayMulticastGroupsOutput,
 2794   2377   
) -> ::std::option::Option<::std::vec::Vec<crate::types::TransitGatewayMulticastGroup>> {
 2795         -
    let input = match input.multicast_groups {
 2796         -
        ::std::option::Option::None => return ::std::option::Option::None,
 2797         -
        ::std::option::Option::Some(t) => t,
 2798         -
    };
        2378  +
    let input = input.multicast_groups?;
 2799   2379   
    ::std::option::Option::Some(input)
 2800   2380   
}