AWS SDK

AWS SDK

rev. 7922ef91efcf37079eb5ec033b9bab045d50eb80 (ignoring whitespace)

Files changed:

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

@@ -44,44 +104,104 @@
   64     64   
version = "0.61.4"
   65     65   
   66     66   
[dependencies.aws-smithy-runtime]
   67     67   
path = "../aws-smithy-runtime"
   68     68   
features = ["client"]
   69     69   
version = "1.8.5"
   70     70   
   71     71   
[dependencies.aws-smithy-runtime-api]
   72     72   
path = "../aws-smithy-runtime-api"
   73     73   
features = ["client"]
   74         -
version = "1.8.4"
          74  +
version = "1.8.5"
   75     75   
   76     76   
[dependencies.aws-smithy-types]
   77     77   
path = "../aws-smithy-types"
   78     78   
version = "1.3.2"
   79     79   
   80     80   
[dependencies.aws-types]
   81     81   
path = "../aws-types"
   82     82   
version = "1.3.8"
   83     83   
   84     84   
[dependencies.time]
@@ -111,111 +157,157 @@
  131    131   
version = "1.8.5"
  132    132   
  133    133   
[dev-dependencies.aws-smithy-http-client]
  134    134   
path = "../aws-smithy-http-client"
  135    135   
features = ["default-client", "test-util"]
  136    136   
version = "1.0.6"
  137    137   
  138    138   
[dev-dependencies.aws-smithy-runtime-api]
  139    139   
path = "../aws-smithy-runtime-api"
  140    140   
features = ["test-util"]
  141         -
version = "1.8.4"
         141  +
version = "1.8.5"
  142    142   
  143    143   
[dev-dependencies.futures-util]
  144    144   
version = "0.3.29"
  145    145   
default-features = false
  146    146   
  147    147   
[dev-dependencies.tracing-subscriber]
  148    148   
version = "0.3.16"
  149    149   
features = ["fmt", "json"]
  150    150   
  151    151   
[dev-dependencies.tokio]

tmp-codegen-diff/aws-sdk/sdk/aws-credential-types/Cargo.toml

@@ -7,7 +49,49 @@
   27     27   
path = "../aws-smithy-async"
   28     28   
version = "1.2.5"
   29     29   
   30     30   
[dependencies.aws-smithy-types]
   31     31   
path = "../aws-smithy-types"
   32     32   
version = "1.3.2"
   33     33   
   34     34   
[dependencies.aws-smithy-runtime-api]
   35     35   
path = "../aws-smithy-runtime-api"
   36     36   
features = ["client", "http-auth"]
   37         -
version = "1.8.4"
          37  +
version = "1.8.5"
   38     38   
   39     39   
[dev-dependencies]
   40     40   
async-trait = "0.1.74"
   41     41   
   42     42   
[dev-dependencies.aws-smithy-runtime-api]
   43     43   
path = "../aws-smithy-runtime-api"
   44     44   
features = ["test-util"]
   45         -
version = "1.8.4"
          45  +
version = "1.8.5"
   46     46   
   47     47   
[dev-dependencies.tokio]
   48     48   
version = "1.23.1"
   49     49   
features = ["full", "test-util", "rt"]

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

@@ -33,33 +144,144 @@
   53     53   
version = "0.62.2"
   54     54   
   55     55   
[dependencies.aws-smithy-runtime]
   56     56   
path = "../aws-smithy-runtime"
   57     57   
features = ["client"]
   58     58   
version = "1.8.5"
   59     59   
   60     60   
[dependencies.aws-smithy-runtime-api]
   61     61   
path = "../aws-smithy-runtime-api"
   62     62   
features = ["client"]
   63         -
version = "1.8.4"
          63  +
version = "1.8.5"
   64     64   
   65     65   
[dependencies.aws-smithy-types]
   66     66   
path = "../aws-smithy-types"
   67     67   
version = "1.3.2"
   68     68   
   69     69   
[dependencies.aws-types]
   70     70   
path = "../aws-types"
   71     71   
version = "1.3.8"
   72     72   
   73     73   
[dependencies.http-02x]
   74     74   
package = "http"
   75     75   
version = "0.2.9"
   76     76   
   77     77   
[dependencies.http-body-04x]
   78     78   
package = "http-body"
   79     79   
version = "0.4.5"
   80     80   
   81     81   
[dependencies.http-1x]
   82     82   
package = "http"
   83     83   
version = "1.1.0"
   84     84   
optional = true
   85     85   
   86     86   
[dependencies.http-body-1x]
   87     87   
package = "http-body"
   88     88   
version = "1.0.0"
   89     89   
optional = true
   90     90   
   91     91   
[dependencies.regex-lite]
   92     92   
version = "0.1.5"
   93     93   
optional = true
   94     94   
   95     95   
[dependencies.uuid]
   96     96   
version = "1"
   97     97   
   98     98   
[dev-dependencies]
   99     99   
arbitrary = "1.3"
  100    100   
bytes-utils = "0.1.2"
  101    101   
convert_case = "0.6.0"
  102    102   
proptest = "1.2"
  103    103   
serde_json = "1"
  104    104   
tracing-test = "0.2.4"
  105    105   
  106    106   
[dev-dependencies.aws-credential-types]
  107    107   
path = "../aws-credential-types"
  108    108   
features = ["test-util"]
  109    109   
version = "1.2.4"
  110    110   
  111    111   
[dev-dependencies.aws-smithy-async]
  112    112   
path = "../aws-smithy-async"
  113    113   
features = ["test-util"]
  114    114   
version = "1.2.5"
  115    115   
  116    116   
[dev-dependencies.aws-smithy-protocol-test]
  117    117   
path = "../aws-smithy-protocol-test"
  118    118   
version = "0.63.4"
  119    119   
  120    120   
[dev-dependencies.aws-smithy-runtime-api]
  121    121   
path = "../aws-smithy-runtime-api"
  122    122   
features = ["test-util"]
  123         -
version = "1.8.4"
         123  +
version = "1.8.5"
  124    124   
  125    125   
[dev-dependencies.aws-smithy-types]
  126    126   
path = "../aws-smithy-types"
  127    127   
features = ["test-util"]
  128    128   
version = "1.3.2"
  129    129   
  130    130   
[dev-dependencies.futures-util]
  131    131   
version = "0.3.29"
  132    132   
default-features = false
  133    133   

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

@@ -31,31 +91,91 @@
   51     51   
optional = true
   52     52   
version = "0.60.10"
   53     53   
   54     54   
[dependencies.aws-smithy-http]
   55     55   
path = "../aws-smithy-http"
   56     56   
version = "0.62.2"
   57     57   
   58     58   
[dependencies.aws-smithy-runtime-api]
   59     59   
path = "../aws-smithy-runtime-api"
   60     60   
features = ["client"]
   61         -
version = "1.8.4"
          61  +
version = "1.8.5"
   62     62   
   63     63   
[dependencies.aws-smithy-types]
   64     64   
path = "../aws-smithy-types"
   65     65   
version = "1.3.2"
   66     66   
   67     67   
[dependencies.form_urlencoded]
   68     68   
version = "1.2.1"
   69     69   
optional = true
   70     70   
   71     71   
[dependencies.http0]
@@ -94,94 +130,130 @@
  114    114   
criterion = "0.5"
  115    115   
  116    116   
[dev-dependencies.aws-credential-types]
  117    117   
path = "../aws-credential-types"
  118    118   
features = ["test-util", "hardcoded-credentials"]
  119    119   
version = "1.2.4"
  120    120   
  121    121   
[dev-dependencies.aws-smithy-runtime-api]
  122    122   
path = "../aws-smithy-runtime-api"
  123    123   
features = ["client", "test-util"]
  124         -
version = "1.8.4"
         124  +
version = "1.8.5"
  125    125   
  126    126   
[dev-dependencies.time]
  127    127   
version = "0.3.5"
  128    128   
features = ["parsing"]
  129    129   
[target."cfg(not(any(target_arch = \"powerpc\", target_arch = \"powerpc64\")))".dev-dependencies]
  130    130   
ring = "0.17.5"

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-compression/Cargo.toml

@@ -3,3 +63,63 @@
   23     23   
futures-util = "0.3"
   24     24   
pin-project-lite = "0.2.14"
   25     25   
tracing = "0.1.40"
   26     26   
   27     27   
[dependencies.aws-smithy-types]
   28     28   
path = "../aws-smithy-types"
   29     29   
version = "1.3.2"
   30     30   
   31     31   
[dependencies.aws-smithy-runtime-api]
   32     32   
path = "../aws-smithy-runtime-api"
   33         -
version = "1.8.4"
          33  +
version = "1.8.5"
   34     34   
   35     35   
[dependencies.http-0-2]
   36     36   
package = "http"
   37     37   
version = "0.2.9"
   38     38   
optional = true
   39     39   
   40     40   
[dependencies.http-1-0]
   41     41   
package = "http"
   42     42   
version = "1"
   43     43   
optional = true

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http-client/Cargo.toml

@@ -32,32 +92,92 @@
   52     52   
pin-project-lite = "0.2.14"
   53     53   
tracing = "0.1.40"
   54     54   
   55     55   
[dependencies.aws-smithy-async]
   56     56   
path = "../aws-smithy-async"
   57     57   
version = "1.2.5"
   58     58   
   59     59   
[dependencies.aws-smithy-runtime-api]
   60     60   
path = "../aws-smithy-runtime-api"
   61     61   
features = ["client"]
   62         -
version = "1.8.4"
          62  +
version = "1.8.5"
   63     63   
   64     64   
[dependencies.aws-smithy-types]
   65     65   
path = "../aws-smithy-types"
   66     66   
version = "1.3.2"
   67     67   
   68     68   
[dependencies.aws-smithy-protocol-test]
   69     69   
path = "../aws-smithy-protocol-test"
   70     70   
optional = true
   71     71   
version = "0.63.4"
   72     72   
@@ -171,171 +221,221 @@
  191    191   
tokio-rustls = "0.26.1"
  192    192   
  193    193   
[dev-dependencies.aws-smithy-async]
  194    194   
path = "../aws-smithy-async"
  195    195   
features = ["rt-tokio", "test-util"]
  196    196   
version = "1.2.5"
  197    197   
  198    198   
[dev-dependencies.aws-smithy-runtime-api]
  199    199   
path = "../aws-smithy-runtime-api"
  200    200   
features = ["test-util"]
  201         -
version = "1.8.4"
         201  +
version = "1.8.5"
  202    202   
  203    203   
[dev-dependencies.aws-smithy-types]
  204    204   
path = "../aws-smithy-types"
  205    205   
features = ["http-body-0-4-x", "test-util"]
  206    206   
version = "1.3.2"
  207    207   
  208    208   
[dev-dependencies.http-body-util]
  209    209   
version = "0.1.2"
  210    210   
  211    211   
[dev-dependencies.hyper-util]

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml

@@ -7,7 +67,67 @@
   27     27   
futures-core = "0.3.31"
   28     28   
   29     29   
[dependencies.aws-smithy-eventstream]
   30     30   
path = "../aws-smithy-eventstream"
   31     31   
optional = true
   32     32   
version = "0.60.10"
   33     33   
   34     34   
[dependencies.aws-smithy-runtime-api]
   35     35   
path = "../aws-smithy-runtime-api"
   36     36   
features = ["client", "http-02x"]
   37         -
version = "1.8.4"
          37  +
version = "1.8.5"
   38     38   
   39     39   
[dependencies.aws-smithy-types]
   40     40   
path = "../aws-smithy-types"
   41     41   
features = ["byte-stream-poll-next", "http-body-0-4-x"]
   42     42   
version = "1.3.2"
   43     43   
   44     44   
[dependencies.http-02x]
   45     45   
package = "http"
   46     46   
version = "0.2.9"
   47     47   

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-mocks-experimental/Cargo.toml

@@ -1,1 +29,29 @@
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   18     18   
rustdoc-args = ["--cfg", "docsrs"]
   19     19   
[dependencies.aws-smithy-types]
   20     20   
path = "../aws-smithy-types"
   21     21   
version = "1.3.2"
   22     22   
   23     23   
[dependencies.aws-smithy-runtime-api]
   24     24   
path = "../aws-smithy-runtime-api"
   25     25   
features = ["client", "http-02x"]
   26         -
version = "1.8.4"
          26  +
version = "1.8.5"
   27     27   
[dev-dependencies.tokio]
   28     28   
version = "1"
   29     29   
features = ["full"]

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-mocks/Cargo.toml

@@ -1,1 +44,44 @@
   16     16   
[dependencies]
   17     17   
http = "1"
   18     18   
   19     19   
[dependencies.aws-smithy-types]
   20     20   
path = "../aws-smithy-types"
   21     21   
version = "1.3.2"
   22     22   
   23     23   
[dependencies.aws-smithy-runtime-api]
   24     24   
path = "../aws-smithy-runtime-api"
   25     25   
features = ["client", "http-1x"]
   26         -
version = "1.8.4"
          26  +
version = "1.8.5"
   27     27   
   28     28   
[dependencies.aws-smithy-http-client]
   29     29   
path = "../aws-smithy-http-client"
   30     30   
features = ["test-util"]
   31     31   
version = "1.0.6"
   32     32   
[dev-dependencies.tokio]
   33     33   
version = "1"
   34     34   
features = ["full"]
   35     35   
   36     36   
[dev-dependencies.aws-smithy-async]

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-observability/Cargo.toml

@@ -1,1 +20,20 @@
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/smithy-rs"
   10     10   
[package.metadata.docs.rs]
   11     11   
all-features = true
   12     12   
targets = ["x86_64-unknown-linux-gnu"]
   13     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   14     14   
rustdoc-args = ["--cfg", "docsrs"]
   15     15   
[dependencies.aws-smithy-runtime-api]
   16     16   
path = "../aws-smithy-runtime-api"
   17         -
version = "1.8.4"
          17  +
version = "1.8.5"
   18     18   
   19     19   
[dev-dependencies]
   20     20   
serial_test = "3.1.1"

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-protocol-test/Cargo.toml

@@ -1,1 +0,31 @@
   21     21   
http = "0.2.9"
   22     22   
pretty_assertions = "1.3"
   23     23   
regex-lite = "0.1.5"
   24     24   
roxmltree = "0.14.1"
   25     25   
serde_json = "1.0.128"
   26     26   
thiserror = "2"
   27     27   
   28     28   
[dependencies.aws-smithy-runtime-api]
   29     29   
path = "../aws-smithy-runtime-api"
   30     30   
features = ["client"]
   31         -
version = "1.8.4"
          31  +
version = "1.8.5"

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime-api/Cargo.toml

@@ -1,1 +34,34 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-runtime-api"
    4         -
version = "1.8.4"
           4  +
version = "1.8.5"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
    6      6   
description = "Smithy runtime types."
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/smithy-lang/smithy-rs"
   10     10   
[package.metadata.docs.rs]
   11     11   
all-features = true
   12     12   
targets = ["x86_64-unknown-linux-gnu"]
   13     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   14     14   
rustdoc-args = ["--cfg", "docsrs"]

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime-api/src/client/auth.rs

@@ -124,124 +221,244 @@
  144    144   
    scheme_id: Cow<'static, str>,
  145    145   
}
  146    146   
  147    147   
// See: https://doc.rust-lang.org/std/convert/trait.AsRef.html#reflexivity
  148    148   
impl AsRef<AuthSchemeId> for AuthSchemeId {
  149    149   
    fn as_ref(&self) -> &AuthSchemeId {
  150    150   
        self
  151    151   
    }
  152    152   
}
  153    153   
         154  +
// Normalizes auth scheme IDs for comparison and hashing by treating "no_auth" and "noAuth" as equivalent
         155  +
// by converting "no_auth" to "noAuth".
         156  +
// This is for backward compatibility; "no_auth" was incorrectly used in earlier GA versions of the SDK and
         157  +
// could be used still in some places.
         158  +
const fn normalize_auth_scheme_id(s: &'static str) -> &'static str {
         159  +
    match s.as_bytes() {
         160  +
        b"no_auth" => "noAuth",
         161  +
        _ => s,
         162  +
    }
         163  +
}
         164  +
  154    165   
impl AuthSchemeId {
  155    166   
    /// Creates a new auth scheme ID.
  156    167   
    pub const fn new(scheme_id: &'static str) -> Self {
  157    168   
        Self {
  158         -
            scheme_id: Cow::Borrowed(scheme_id),
         169  +
            scheme_id: Cow::Borrowed(normalize_auth_scheme_id(scheme_id)),
  159    170   
        }
  160    171   
    }
  161    172   
  162    173   
    /// Returns the string equivalent of this auth scheme ID.
  163    174   
    #[deprecated(
  164    175   
        note = "This function is no longer functional. Use `inner` instead",
  165    176   
        since = "1.8.0"
  166    177   
    )]
  167    178   
    pub const fn as_str(&self) -> &'static str {
  168    179   
        match self.scheme_id {
  169    180   
            Cow::Borrowed(val) => val,
  170    181   
            Cow::Owned(_) => {
  171    182   
                // cannot obtain `&'static str` from `String` unless we use `Box::leak`
  172    183   
                ""
  173    184   
            }
  174    185   
        }
  175    186   
    }
  176    187   
  177    188   
    /// Returns the string equivalent of this auth scheme ID.
  178    189   
    pub fn inner(&self) -> &str {
  179    190   
        &self.scheme_id
  180    191   
    }
  181    192   
}
  182    193   
  183    194   
impl From<&'static str> for AuthSchemeId {
  184    195   
    fn from(scheme_id: &'static str) -> Self {
  185    196   
        Self::new(scheme_id)
  186    197   
    }
  187    198   
}
  188    199   
  189    200   
impl From<Cow<'static, str>> for AuthSchemeId {
  190    201   
    fn from(scheme_id: Cow<'static, str>) -> Self {
  191         -
        Self { scheme_id }
         202  +
        let normalized_scheme_id = match &scheme_id {
         203  +
            Cow::Borrowed(s) => Cow::Borrowed(normalize_auth_scheme_id(s)),
         204  +
            Cow::Owned(s) => {
         205  +
                if s == "no_auth" {
         206  +
                    Cow::Borrowed("noAuth")
         207  +
                } else {
         208  +
                    scheme_id
         209  +
                }
         210  +
            }
         211  +
        };
         212  +
        Self {
         213  +
            scheme_id: normalized_scheme_id,
         214  +
        }
  192    215   
    }
  193    216   
}
  194    217   
  195    218   
/// Parameters needed to resolve auth scheme options.
  196    219   
///
  197    220   
/// Most generated clients will use the [`StaticAuthSchemeOptionResolver`](static_resolver::StaticAuthSchemeOptionResolver),
  198    221   
/// which doesn't require any parameters for resolution (and has its own empty params struct).
  199    222   
///
  200    223   
/// However, more complex auth scheme resolvers may need modeled parameters in order to resolve
  201    224   
/// the auth scheme options. For those, this params struct holds a type erased box so that any
@@ -427,450 +0,605 @@
  447    470   
impl<T> From<T> for AuthSchemePreference
  448    471   
where
  449    472   
    T: AsRef<[AuthSchemeId]>,
  450    473   
{
  451    474   
    fn from(slice: T) -> Self {
  452    475   
        AuthSchemePreference {
  453    476   
            preference_list: slice.as_ref().to_vec(),
  454    477   
        }
  455    478   
    }
  456    479   
}
         480  +
         481  +
#[cfg(test)]
         482  +
mod tests {
         483  +
    use super::*;
         484  +
         485  +
    #[test]
         486  +
    fn test_auth_scheme_id_new_normalizes_no_auth() {
         487  +
        // Test that "no_auth" gets normalized to "noAuth"
         488  +
        let auth_scheme_id = AuthSchemeId::new("no_auth");
         489  +
        assert_eq!(auth_scheme_id.inner(), "noAuth");
         490  +
    }
         491  +
         492  +
    #[test]
         493  +
    fn test_auth_scheme_id_new_preserves_no_auth_camel_case() {
         494  +
        // Test that "noAuth" remains unchanged
         495  +
        let auth_scheme_id = AuthSchemeId::new("noAuth");
         496  +
        assert_eq!(auth_scheme_id.inner(), "noAuth");
         497  +
    }
         498  +
         499  +
    #[test]
         500  +
    fn test_auth_scheme_id_new_preserves_other_schemes() {
         501  +
        // Test that other auth scheme IDs are not modified
         502  +
        let test_cases = [
         503  +
            "sigv4",
         504  +
            "sigv4a",
         505  +
            "httpBearerAuth",
         506  +
            "httpBasicAuth",
         507  +
            "custom_auth",
         508  +
            "bearer",
         509  +
            "basic",
         510  +
        ];
         511  +
         512  +
        for scheme in test_cases {
         513  +
            let auth_scheme_id = AuthSchemeId::new(scheme);
         514  +
            assert_eq!(auth_scheme_id.inner(), scheme);
         515  +
        }
         516  +
    }
         517  +
         518  +
    #[test]
         519  +
    fn test_auth_scheme_id_equality_after_normalization() {
         520  +
        // Test that "no_auth" and "noAuth" are considered equal after normalization
         521  +
        let no_auth_underscore = AuthSchemeId::new("no_auth");
         522  +
        let no_auth_camel = AuthSchemeId::new("noAuth");
         523  +
         524  +
        assert_eq!(no_auth_underscore, no_auth_camel);
         525  +
        assert_eq!(no_auth_underscore.inner(), no_auth_camel.inner());
         526  +
    }
         527  +
         528  +
    #[test]
         529  +
    fn test_auth_scheme_id_hash_consistency_after_normalization() {
         530  +
        use std::collections::HashMap;
         531  +
         532  +
        // Test that normalized IDs have consistent hashing behavior
         533  +
        let mut map = HashMap::new();
         534  +
        let no_auth_underscore = AuthSchemeId::new("no_auth");
         535  +
        let no_auth_camel = AuthSchemeId::new("noAuth");
         536  +
         537  +
        map.insert(no_auth_underscore.clone(), "value1");
         538  +
        map.insert(no_auth_camel.clone(), "value2");
         539  +
         540  +
        // Should only have one entry since they normalize to the same value
         541  +
        assert_eq!(map.len(), 1);
         542  +
        assert_eq!(map.get(&no_auth_underscore), Some(&"value2"));
         543  +
        assert_eq!(map.get(&no_auth_camel), Some(&"value2"));
         544  +
    }
         545  +
         546  +
    #[test]
         547  +
    fn test_auth_scheme_id_ordering_after_normalization() {
         548  +
        // Test that ordering works correctly with normalized values
         549  +
        let no_auth_underscore = AuthSchemeId::new("no_auth");
         550  +
        let no_auth_camel = AuthSchemeId::new("noAuth");
         551  +
        let other_scheme = AuthSchemeId::new("sigv4");
         552  +
         553  +
        assert_eq!(
         554  +
            no_auth_underscore.cmp(&no_auth_camel),
         555  +
            std::cmp::Ordering::Equal
         556  +
        );
         557  +
        assert_eq!(no_auth_underscore.cmp(&other_scheme), "noAuth".cmp("sigv4"));
         558  +
    }
         559  +
         560  +
    #[test]
         561  +
    fn test_normalize_auth_scheme_id_function() {
         562  +
        // Test the normalize function directly
         563  +
        assert_eq!(normalize_auth_scheme_id("no_auth"), "noAuth");
         564  +
        assert_eq!(normalize_auth_scheme_id("noAuth"), "noAuth");
         565  +
        assert_eq!(normalize_auth_scheme_id("sigv4"), "sigv4");
         566  +
        assert_eq!(normalize_auth_scheme_id("custom"), "custom");
         567  +
    }
         568  +
         569  +
    #[test]
         570  +
    fn test_auth_scheme_id_from_cow_borrowed_normalizes_no_auth() {
         571  +
        // Test that Cow::Borrowed("no_auth") gets normalized to "noAuth"
         572  +
        let auth_scheme_id = AuthSchemeId::from(Cow::Borrowed("no_auth"));
         573  +
        assert_eq!(auth_scheme_id.inner(), "noAuth");
         574  +
    }
         575  +
         576  +
    #[test]
         577  +
    fn test_auth_scheme_id_from_cow_borrowed_preserves_no_auth_camel_case() {
         578  +
        // Test that Cow::Borrowed("noAuth") remains unchanged
         579  +
        let auth_scheme_id = AuthSchemeId::from(Cow::Borrowed("noAuth"));
         580  +
        assert_eq!(auth_scheme_id.inner(), "noAuth");
         581  +
    }
         582  +
         583  +
    #[test]
         584  +
    fn test_auth_scheme_id_from_cow_owned_normalizes_no_auth() {
         585  +
        // Test that Cow::Owned(String::from("no_auth")) gets normalized to "noAuth"
         586  +
        let auth_scheme_id = AuthSchemeId::from(Cow::Owned(String::from("no_auth")));
         587  +
        assert_eq!(auth_scheme_id.inner(), "noAuth");
         588  +
    }
         589  +
         590  +
    #[test]
         591  +
    fn test_auth_scheme_id_from_cow_owned_preserves_no_auth_camel_case() {
         592  +
        // Test that Cow::Owned(String::from("noAuth")) remains unchanged
         593  +
        let auth_scheme_id = AuthSchemeId::from(Cow::Owned(String::from("noAuth")));
         594  +
        assert_eq!(auth_scheme_id.inner(), "noAuth");
         595  +
    }
         596  +
         597  +
    #[test]
         598  +
    fn test_auth_scheme_id_from_cow_between_borrowed_and_owned_mixing_updated_and_legacy() {
         599  +
        let borrowed_no_auth = AuthSchemeId::from(Cow::Borrowed("noAuth"));
         600  +
        let owned_no_auth = AuthSchemeId::from(Cow::Owned(String::from("no_auth")));
         601  +
         602  +
        assert_eq!(borrowed_no_auth, owned_no_auth);
         603  +
        assert_eq!(borrowed_no_auth.inner(), owned_no_auth.inner());
         604  +
    }
         605  +
}

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml

@@ -23,23 +123,123 @@
   43     43   
[dependencies.aws-smithy-http]
   44     44   
path = "../aws-smithy-http"
   45     45   
version = "0.62.2"
   46     46   
   47     47   
[dependencies.aws-smithy-observability]
   48     48   
path = "../aws-smithy-observability"
   49     49   
version = "0.1.3"
   50     50   
   51     51   
[dependencies.aws-smithy-runtime-api]
   52     52   
path = "../aws-smithy-runtime-api"
   53         -
version = "1.8.4"
          53  +
version = "1.8.5"
   54     54   
   55     55   
[dependencies.aws-smithy-types]
   56     56   
path = "../aws-smithy-types"
   57     57   
features = ["http-body-0-4-x"]
   58     58   
version = "1.3.2"
   59     59   
   60     60   
[dependencies.aws-smithy-http-client]
   61     61   
path = "../aws-smithy-http-client"
   62     62   
optional = true
   63     63   
version = "1.0.6"
   64     64   
   65     65   
[dependencies.http-02x]
   66     66   
package = "http"
   67     67   
version = "0.2.9"
   68     68   
   69     69   
[dependencies.http-1x]
   70     70   
package = "http"
   71     71   
version = "1"
   72     72   
   73     73   
[dependencies.http-body-04x]
   74     74   
package = "http-body"
   75     75   
version = "0.4.5"
   76     76   
   77     77   
[dependencies.http-body-1x]
   78     78   
package = "http-body"
   79     79   
version = "1"
   80     80   
   81     81   
[dependencies.tokio]
   82     82   
version = "1.40.0"
   83     83   
features = []
   84     84   
   85     85   
[dependencies.tracing-subscriber]
   86     86   
version = "0.3.16"
   87     87   
optional = true
   88     88   
features = ["env-filter", "fmt", "json"]
   89     89   
   90     90   
[dev-dependencies]
   91     91   
approx = "0.5.1"
   92     92   
fastrand = "2.3.0"
   93     93   
futures-util = "0.3.29"
   94     94   
pretty_assertions = "1.4.0"
   95     95   
tracing-test = "0.2.1"
   96     96   
   97     97   
[dev-dependencies.aws-smithy-async]
   98     98   
path = "../aws-smithy-async"
   99     99   
features = ["rt-tokio", "test-util"]
  100    100   
version = "1.2.5"
  101    101   
  102    102   
[dev-dependencies.aws-smithy-runtime-api]
  103    103   
path = "../aws-smithy-runtime-api"
  104    104   
features = ["test-util"]
  105         -
version = "1.8.4"
         105  +
version = "1.8.5"
  106    106   
  107    107   
[dev-dependencies.aws-smithy-types]
  108    108   
path = "../aws-smithy-types"
  109    109   
features = ["test-util"]
  110    110   
version = "1.3.2"
  111    111   
  112    112   
[dev-dependencies.tokio]
  113    113   
version = "1.25"
  114    114   
features = ["macros", "rt", "rt-multi-thread", "test-util", "full"]
  115    115   

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml

@@ -1,1 +33,33 @@
   15     15   
   16     16   
[dependencies]
   17     17   
bytes = "1.10.0"
   18     18   
http = "1.0.0"
   19     19   
tracing = "0.1.40"
   20     20   
wasi = "0.12.1"
   21     21   
   22     22   
[dependencies.aws-smithy-runtime-api]
   23     23   
path = "../aws-smithy-runtime-api"
   24     24   
features = ["http-1x"]
   25         -
version = "1.8.4"
          25  +
version = "1.8.5"
   26     26   
   27     27   
[dependencies.aws-smithy-http]
   28     28   
path = "../aws-smithy-http"
   29     29   
version = "0.62.2"
   30     30   
   31     31   
[dependencies.aws-smithy-types]
   32     32   
path = "../aws-smithy-types"
   33     33   
version = "1.3.2"