AWS SDK

AWS SDK

rev. f8d13a6a02b3f39647c7cd888916368722759a0a (ignoring whitespace)

Files changed:

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

@@ -1,1 +23,22 @@
    1      1   
[package]
    2      2   
name = "aws-smithy-experimental"
    3         -
version = "0.2.2"
           3  +
version = "0.2.1"
    4      4   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>"]
    5      5   
description = "Experiments for the smithy-rs ecosystem"
    6      6   
edition = "2021"
    7      7   
license = "Apache-2.0"
    8      8   
repository = "https://github.com/smithy-lang/smithy-rs"
    9         -
rust-version = "1.88"
   10      9   
   11     10   
[features]
   12     11   
crypto-ring = []
   13     12   
   14     13   
[dependencies]
   15     14   
   16     15   
[dev-dependencies]
   17     16   
   18     17   
[package.metadata.docs.rs]
   19     18   
all-features = true

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

@@ -1,1 +102,101 @@
   16     16   
   17     17   
[[example]]
   18     18   
name = "custom-dns"
   19     19   
required-features = ["rustls-ring"]
   20     20   
doc-scrape-examples = true
   21     21   
   22     22   
[package]
   23     23   
name = "aws-smithy-http-client"
   24     24   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>"]
   25     25   
description = "HTTP client abstractions for generated smithy clients"
   26         -
version = "1.1.5"
          26  +
version = "1.1.4"
   27     27   
license = "Apache-2.0"
   28     28   
edition = "2021"
   29     29   
repository = "https://github.com/smithy-lang/smithy-rs"
   30         -
rust-version = "1.88"
   31     30   
[package.metadata.smithy-rs-release-tooling]
   32     31   
stable = true
   33     32   
[package.metadata.docs.rs]
   34     33   
all-features = false
   35     34   
features = ["default-client ", "wire-mock", "test-util", "rustls-ring", "rustls-aws-lc"]
   36     35   
targets = ["x86_64-unknown-linux-gnu"]
   37     36   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   38     37   
rustdoc-args = ["--cfg", "docsrs"]
   39     38   
   40     39   
[features]
   41     40   
hyper-014 = ["aws-smithy-runtime-api/http-02x", "aws-smithy-types/http-body-0-4-x", "dep:http-02x", "dep:http-body-04x", "dep:hyper-0-14", "dep:h2-0-3"]
   42     41   
default-client = ["aws-smithy-runtime-api/http-1x", "aws-smithy-types/http-body-1-x", "dep:hyper", "dep:hyper-util", "hyper-util?/client-legacy", "hyper-util?/client-proxy", "dep:http-1x", "dep:tower", "dep:rustls-pki-types", "dep:rustls-native-certs"]
   43     42   
wire-mock = ["test-util", "default-client", "hyper-util?/server", "hyper-util?/server-auto", "hyper-util?/service", "hyper-util?/server-graceful", "tokio/macros", "dep:http-body-util"]
   44     43   
test-util = ["dep:aws-smithy-protocol-test", "dep:serde", "dep:serde_json", "dep:indexmap", "dep:bytes", "dep:http-1x", "aws-smithy-runtime-api/http-1x", "dep:http-body-1x", "aws-smithy-types/http-body-1-x", "tokio/rt"]
   45     44   
legacy-test-util = ["test-util", "dep:http-02x", "aws-smithy-runtime-api/http-02x", "aws-smithy-types/http-body-0-4-x"]
   46     45   
legacy-rustls-ring = ["dep:legacy-hyper-rustls", "dep:legacy-rustls", "hyper-014"]
   47     46   
rustls-ring = ["dep:rustls", "rustls?/ring", "dep:hyper-rustls", "dep:tokio-rustls", "default-client"]
   48     47   
rustls-aws-lc = ["dep:rustls", "rustls?/aws_lc_rs", "rustls?/prefer-post-quantum", "dep:hyper-rustls", "dep:tokio-rustls", "default-client"]
   49     48   
rustls-aws-lc-fips = ["dep:rustls", "rustls?/fips", "rustls?/prefer-post-quantum", "dep:hyper-rustls", "dep:tokio-rustls", "default-client"]
   50     49   
s2n-tls = ["dep:s2n-tls", "dep:s2n-tls-hyper", "dep:s2n-tls-tokio", "default-client"]
   51     50   
   52     51   
[dependencies]
   53     52   
pin-project-lite = "0.2.14"
   54     53   
tracing = "0.1.40"
   55     54   
   56     55   
[dependencies.aws-smithy-async]
   57     56   
path = "../aws-smithy-async"
   58         -
version = "1.2.7"
          57  +
version = "1.2.6"
   59     58   
   60     59   
[dependencies.aws-smithy-runtime-api]
   61     60   
path = "../aws-smithy-runtime-api"
   62     61   
features = ["client"]
   63         -
version = "1.9.3"
          62  +
version = "1.9.2"
   64     63   
   65     64   
[dependencies.aws-smithy-types]
   66     65   
path = "../aws-smithy-types"
   67         -
version = "1.3.5"
          66  +
version = "1.3.4"
   68     67   
   69     68   
[dependencies.aws-smithy-protocol-test]
   70     69   
path = "../aws-smithy-protocol-test"
   71     70   
optional = true
   72         -
version = "0.63.7"
          71  +
version = "0.63.6"
   73     72   
   74     73   
[dependencies.h2]
   75     74   
version = "0.4.11"
   76     75   
default-features = false
   77     76   
   78     77   
[dependencies.tokio]
   79     78   
version = "1.40"
   80     79   
features = []
   81     80   
   82     81   
[dependencies.hyper]
@@ -178,177 +233,232 @@
  198    197   
  199    198   
[dev-dependencies]
  200    199   
serial_test = "3.2"
  201    200   
base64 = "0.22"
  202    201   
rustls-pemfile = "2.2.0"
  203    202   
tokio-rustls = "0.26.2"
  204    203   
  205    204   
[dev-dependencies.aws-smithy-async]
  206    205   
path = "../aws-smithy-async"
  207    206   
features = ["rt-tokio", "test-util"]
  208         -
version = "1.2.7"
         207  +
version = "1.2.6"
  209    208   
  210    209   
[dev-dependencies.aws-smithy-runtime-api]
  211    210   
path = "../aws-smithy-runtime-api"
  212    211   
features = ["test-util"]
  213         -
version = "1.9.3"
         212  +
version = "1.9.2"
  214    213   
  215    214   
[dev-dependencies.aws-smithy-types]
  216    215   
path = "../aws-smithy-types"
  217    216   
features = ["http-body-0-4-x", "test-util"]
  218         -
version = "1.3.5"
         217  +
version = "1.3.4"
  219    218   
  220    219   
[dev-dependencies.http-body-util]
  221    220   
version = "0.1.2"
  222    221   
  223    222   
[dev-dependencies.hyper-util]
  224    223   
version = "0.1.16"
  225    224   
features = ["full"]
  226    225   
  227    226   
[dev-dependencies.rustls-pki-types]
  228    227   
version = "1.12.0"

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

@@ -1,1 +73,72 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-http"
    4         -
version = "0.62.6"
           4  +
version = "0.62.5"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "Smithy HTTP logic for smithy-rs."
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/smithy-lang/smithy-rs"
   10         -
rust-version = "1.88"
   11     10   
[package.metadata.docs.rs]
   12     11   
all-features = true
   13     12   
targets = ["x86_64-unknown-linux-gnu"]
   14     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   15     14   
rustdoc-args = ["--cfg", "docsrs"]
   16     15   
   17     16   
[features]
   18     17   
event-stream = ["aws-smithy-eventstream"]
   19     18   
rt-tokio = ["aws-smithy-types/rt-tokio"]
   20     19   
   21     20   
[dependencies]
   22     21   
bytes = "1.10.0"
   23     22   
bytes-utils = "0.1"
   24     23   
percent-encoding = "2.3.1"
   25     24   
pin-project-lite = "0.2.14"
   26     25   
pin-utils = "0.1.0"
   27     26   
tracing = "0.1.40"
   28     27   
futures-core = "0.3.31"
   29     28   
   30     29   
[dependencies.aws-smithy-eventstream]
   31     30   
path = "../aws-smithy-eventstream"
   32     31   
optional = true
   33         -
version = "0.60.14"
          32  +
version = "0.60.13"
   34     33   
   35     34   
[dependencies.aws-smithy-runtime-api]
   36     35   
path = "../aws-smithy-runtime-api"
   37     36   
features = ["client", "http-02x"]
   38         -
version = "1.9.3"
          37  +
version = "1.9.2"
   39     38   
   40     39   
[dependencies.aws-smithy-types]
   41     40   
path = "../aws-smithy-types"
   42     41   
features = ["byte-stream-poll-next", "http-body-0-4-x"]
   43         -
version = "1.3.5"
          42  +
version = "1.3.4"
   44     43   
   45     44   
[dependencies.http-02x]
   46     45   
package = "http"
   47     46   
version = "0.2.9"
   48     47   
   49     48   
[dependencies.http-1x]
   50     49   
package = "http"
   51     50   
version = "1"
   52     51   
   53     52   
[dependencies.http-body-04x]

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

@@ -1,1 +27,27 @@
   14     14   
   15     15   
[package.metadata]
   16     16   
cargo-fuzz = true
   17     17   
   18     18   
[dependencies]
   19     19   
libfuzzer-sys = "=0.4.7"
   20     20   
http = "0.2.3"
   21     21   
   22     22   
[dependencies.aws-smithy-http]
   23     23   
path = ".."
   24         -
version = "0.62.6"
          24  +
version = "0.62.5"
   25     25   
   26     26   
[workspace]
   27     27   
members = ["."]

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

@@ -1,1 +22,21 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-json"
    4         -
version = "0.61.8"
           4  +
version = "0.61.7"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "John DiSanti <jdisanti@amazon.com>"]
    6      6   
description = "Token streaming JSON parser for smithy-rs."
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/smithy-lang/smithy-rs"
   10         -
rust-version = "1.88"
   11     10   
[package.metadata.docs.rs]
   12     11   
all-features = true
   13     12   
targets = ["x86_64-unknown-linux-gnu"]
   14     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   15     14   
rustdoc-args = ["--cfg", "docsrs"]
   16     15   
[dependencies.aws-smithy-types]
   17     16   
path = "../aws-smithy-types"
   18         -
version = "1.3.5"
          17  +
version = "1.3.4"
   19     18   
   20     19   
[dev-dependencies]
   21     20   
proptest = "1"
   22     21   
serde_json = "1.0"

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-json/fuzz/Cargo.toml

@@ -1,1 +40,40 @@
   19     19   
edition = "2021"
   20     20   
   21     21   
[package.metadata]
   22     22   
cargo-fuzz = true
   23     23   
   24     24   
[dependencies]
   25     25   
libfuzzer-sys = "=0.4.7"
   26     26   
   27     27   
[dependencies.aws-smithy-json]
   28     28   
path = ".."
   29         -
version = "0.61.8"
          29  +
version = "0.61.7"
   30     30   
   31     31   
[dependencies.aws-smithy-types]
   32     32   
path = "../../aws-smithy-types"
   33         -
version = "1.3.5"
          33  +
version = "1.3.4"
   34     34   
   35     35   
[dependencies.serde_json]
   36     36   
version = "1"
   37     37   
features = ["float_roundtrip"]
   38     38   
   39     39   
[workspace]
   40     40   
members = ["."]

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

@@ -1,1 +45,44 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-mocks"
    4         -
version = "0.2.2"
           4  +
version = "0.2.1"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>"]
    6      6   
description = "Testing utilities for smithy-rs generated clients"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/smithy-lang/smithy-rs"
   10         -
rust-version = "1.88"
   11     10   
[package.metadata.docs.rs]
   12     11   
all-features = true
   13     12   
targets = ["x86_64-unknown-linux-gnu"]
   14     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   15     14   
rustdoc-args = ["--cfg", "docsrs"]
   16     15   
   17     16   
[dependencies]
   18     17   
http = "1"
   19     18   
   20     19   
[dependencies.aws-smithy-types]
   21     20   
path = "../aws-smithy-types"
   22         -
version = "1.3.5"
          21  +
version = "1.3.4"
   23     22   
   24     23   
[dependencies.aws-smithy-runtime-api]
   25     24   
path = "../aws-smithy-runtime-api"
   26     25   
features = ["client", "http-1x", "test-util"]
   27         -
version = "1.9.3"
          26  +
version = "1.9.2"
   28     27   
   29     28   
[dependencies.aws-smithy-http-client]
   30     29   
path = "../aws-smithy-http-client"
   31     30   
features = ["test-util"]
   32         -
version = "1.1.5"
          31  +
version = "1.1.4"
   33     32   
[dev-dependencies.tokio]
   34     33   
version = "1"
   35     34   
features = ["full"]
   36     35   
   37     36   
[dev-dependencies.aws-smithy-async]
   38     37   
path = "../aws-smithy-async"
   39     38   
features = ["rt-tokio"]
   40         -
version = "1.2.7"
          39  +
version = "1.2.6"
   41     40   
   42     41   
[dev-dependencies.aws-smithy-runtime]
   43     42   
path = "../aws-smithy-runtime"
   44     43   
features = ["client"]
   45     44   
version = "1.9.5"

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

@@ -1,1 +49,48 @@
    2      2   
[[bench]]
    3      3   
name = "sync_instruments"
    4      4   
harness = false
    5      5   
    6      6   
[[bench]]
    7      7   
name = "async_instruments"
    8      8   
harness = false
    9      9   
   10     10   
[package]
   11     11   
name = "aws-smithy-observability-otel"
   12         -
version = "0.1.3"
          12  +
version = "0.1.2"
   13     13   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>"]
   14     14   
description = "Smithy OpenTelemetry observability implementation."
   15     15   
edition = "2021"
   16     16   
license = "Apache-2.0"
   17     17   
repository = "https://github.com/awslabs/smithy-rs"
   18         -
rust-version = "1.88"
   19     18   
[package.metadata.docs.rs]
   20     19   
all-features = true
   21     20   
targets = ["x86_64-unknown-linux-gnu"]
   22     21   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   23     22   
rustdoc-args = ["--cfg", "docsrs"]
   24     23   
   25     24   
[dependencies]
   26     25   
value-bag = "1.10.0"
   27     26   
async-global-executor = "2.4.1"
   28     27   
async-task = "=4.7.1"
   29     28   
   30     29   
[dependencies.aws-smithy-observability]
   31     30   
path = "../aws-smithy-observability"
   32         -
version = "0.1.5"
          31  +
version = "0.1.4"
   33     32   
   34     33   
[dependencies.opentelemetry]
   35     34   
version = "0.26.0"
   36     35   
features = ["metrics"]
   37     36   
[target."cfg(not(target_arch = \"powerpc\"))".dependencies.opentelemetry_sdk]
   38     37   
version = "0.26.0"
   39     38   
features = ["metrics", "testing"]
   40     39   
   41     40   
[dev-dependencies]
   42     41   
stats_alloc = "0.1.10"

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

@@ -1,1 +21,20 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-observability"
    4         -
version = "0.1.5"
           4  +
version = "0.1.4"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>"]
    6      6   
description = "Smithy observability implementation."
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/smithy-rs"
   10         -
rust-version = "1.88"
   11     10   
[package.metadata.docs.rs]
   12     11   
all-features = true
   13     12   
targets = ["x86_64-unknown-linux-gnu"]
   14     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   15     14   
rustdoc-args = ["--cfg", "docsrs"]
   16     15   
[dependencies.aws-smithy-runtime-api]
   17     16   
path = "../aws-smithy-runtime-api"
   18         -
version = "1.9.3"
          17  +
version = "1.9.2"
   19     18   
   20     19   
[dev-dependencies]
   21     20   
serial_test = "3.1.1"

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

@@ -1,1 +0,31 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-protocol-test"
    4         -
version = "0.63.7"
           4  +
version = "0.63.6"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
    6      6   
description = "A collection of library functions to validate HTTP requests against Smithy protocol tests."
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/smithy-lang/smithy-rs"
   10         -
rust-version = "1.88"
   11     10   
[package.metadata.docs.rs]
   12     11   
all-features = true
   13     12   
targets = ["x86_64-unknown-linux-gnu"]
   14     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   15     14   
rustdoc-args = ["--cfg", "docsrs"]
   16     15   
   17     16   
[dependencies]
   18     17   
assert-json-diff = "2"
   19     18   
base64-simd = "0.8"
   20     19   
cbor-diag = "0.1.12"
   21     20   
ciborium = "0.2"
   22     21   
http = "0.2.9"
   23     22   
pretty_assertions = "1.3"
   24     23   
regex-lite = "0.1.5"
   25     24   
roxmltree = "0.14.1"
   26     25   
serde_json = "1.0.128"
   27     26   
thiserror = "2"
   28     27   
   29     28   
[dependencies.aws-smithy-runtime-api]
   30     29   
path = "../aws-smithy-runtime-api"
   31     30   
features = ["client"]
   32         -
version = "1.9.3"
          31  +
version = "1.9.2"

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

@@ -1,1 +0,21 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-query"
    4         -
version = "0.60.9"
           4  +
version = "0.60.8"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "John DiSanti <jdisanti@amazon.com>"]
    6      6   
description = "AWSQuery and EC2Query Smithy protocol logic for smithy-rs."
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/smithy-lang/smithy-rs"
   10         -
rust-version = "1.88"
   11     10   
[package.metadata.docs.rs]
   12     11   
all-features = true
   13     12   
targets = ["x86_64-unknown-linux-gnu"]
   14     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   15     14   
rustdoc-args = ["--cfg", "docsrs"]
   16     15   
   17     16   
[dependencies]
   18     17   
urlencoding = "2.1"
   19     18   
   20     19   
[dependencies.aws-smithy-types]
   21     20   
path = "../aws-smithy-types"
   22         -
version = "1.3.5"
          21  +
version = "1.3.4"

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

@@ -1,1 +62,61 @@
    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.9.3"
           4  +
version = "1.9.2"
    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         -
rust-version = "1.88"
   11     10   
[package.metadata.docs.rs]
   12     11   
all-features = true
   13     12   
targets = ["x86_64-unknown-linux-gnu"]
   14     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   15     14   
rustdoc-args = ["--cfg", "docsrs"]
   16     15   
   17     16   
[package.metadata.smithy-rs-release-tooling]
   18     17   
stable = true
   19     18   
   20     19   
[features]
   21     20   
default = []
   22     21   
client = []
   23     22   
http-auth = ["dep:zeroize"]
   24     23   
test-util = ["aws-smithy-types/test-util", "http-1x"]
   25     24   
http-02x = []
   26     25   
http-1x = []
   27     26   
   28     27   
[dependencies]
   29     28   
bytes = "1.10.0"
   30     29   
pin-project-lite = "0.2.14"
   31     30   
tracing = "0.1.40"
   32     31   
   33     32   
[dependencies.aws-smithy-async]
   34     33   
path = "../aws-smithy-async"
   35         -
version = "1.2.7"
          34  +
version = "1.2.6"
   36     35   
   37     36   
[dependencies.aws-smithy-types]
   38     37   
path = "../aws-smithy-types"
   39         -
version = "1.3.5"
          38  +
version = "1.3.4"
   40     39   
   41     40   
[dependencies.http-02x]
   42     41   
package = "http"
   43     42   
version = "0.2.9"
   44     43   
   45     44   
[dependencies.http-1x]
   46     45   
package = "http"
   47     46   
version = "1"
   48     47   
   49     48   
[dependencies.tokio]

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

@@ -1,1 +124,123 @@
    1      1   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
[package]
    3      3   
name = "aws-smithy-runtime"
    4      4   
version = "1.9.5"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
    6      6   
description = "The new smithy runtime crate"
    7      7   
edition = "2021"
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/smithy-lang/smithy-rs"
   10         -
rust-version = "1.88"
   11     10   
[package.metadata.docs.rs]
   12     11   
all-features = true
   13     12   
targets = ["x86_64-unknown-linux-gnu"]
   14     13   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
   15     14   
rustdoc-args = ["--cfg", "docsrs"]
   16     15   
   17     16   
[package.metadata.smithy-rs-release-tooling]
   18     17   
stable = true
   19     18   
[package.metadata.cargo-udeps.ignore]
   20     19   
normal = ["aws-smithy-http"]
   21     20   
   22     21   
[features]
   23     22   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
   24     23   
http-auth = ["aws-smithy-runtime-api/http-auth"]
   25     24   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
   26     25   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
   27     26   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
   28     27   
rt-tokio = ["tokio/rt"]
   29     28   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
   30     29   
legacy-test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "connector-hyper-0-14-x", "aws-smithy-http-client/legacy-test-util"]
   31     30   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
   32     31   
   33     32   
[dependencies]
   34     33   
bytes = "1.10.0"
   35     34   
fastrand = "2.3.0"
   36     35   
pin-project-lite = "0.2.14"
   37     36   
pin-utils = "0.1.0"
   38     37   
tracing = "0.1.40"
   39     38   
   40     39   
[dependencies.aws-smithy-async]
   41     40   
path = "../aws-smithy-async"
   42         -
version = "1.2.7"
          41  +
version = "1.2.6"
   43     42   
   44     43   
[dependencies.aws-smithy-http]
   45     44   
path = "../aws-smithy-http"
   46         -
version = "0.62.6"
          45  +
version = "0.62.5"
   47     46   
   48     47   
[dependencies.aws-smithy-observability]
   49     48   
path = "../aws-smithy-observability"
   50         -
version = "0.1.5"
          49  +
version = "0.1.4"
   51     50   
   52     51   
[dependencies.aws-smithy-runtime-api]
   53     52   
path = "../aws-smithy-runtime-api"
   54         -
version = "1.9.3"
          53  +
version = "1.9.2"
   55     54   
   56     55   
[dependencies.aws-smithy-types]
   57     56   
path = "../aws-smithy-types"
   58     57   
features = ["http-body-0-4-x"]
   59         -
version = "1.3.5"
          58  +
version = "1.3.4"
   60     59   
   61     60   
[dependencies.aws-smithy-http-client]
   62     61   
path = "../aws-smithy-http-client"
   63     62   
optional = true
   64         -
version = "1.1.5"
          63  +
version = "1.1.4"
   65     64   
   66     65   
[dependencies.http-02x]
   67     66   
package = "http"
   68     67   
version = "0.2.9"
   69     68   
   70     69   
[dependencies.http-1x]
   71     70   
package = "http"
   72     71   
version = "1"
   73     72   
   74     73   
[dependencies.http-body-04x]
   75     74   
package = "http-body"
   76     75   
version = "0.4.5"
   77     76   
   78     77   
[dependencies.http-body-1x]
   79     78   
package = "http-body"
   80     79   
version = "1"
   81     80   
   82     81   
[dependencies.tokio]
   83     82   
version = "1.40.0"
   84     83   
features = []
   85     84   
   86     85   
[dependencies.tracing-subscriber]
   87     86   
version = "0.3.16"
   88     87   
optional = true
   89     88   
features = ["env-filter", "fmt", "json"]
   90     89   
   91     90   
[dev-dependencies]
   92     91   
approx = "0.5.1"
   93     92   
fastrand = "2.3.0"
   94     93   
futures-util = "0.3.29"
   95     94   
pretty_assertions = "1.4.0"
   96     95   
tracing-test = "0.2.1"
   97     96   
   98     97   
[dev-dependencies.aws-smithy-async]
   99     98   
path = "../aws-smithy-async"
  100     99   
features = ["rt-tokio", "test-util"]
  101         -
version = "1.2.7"
         100  +
version = "1.2.6"
  102    101   
  103    102   
[dev-dependencies.aws-smithy-runtime-api]
  104    103   
path = "../aws-smithy-runtime-api"
  105    104   
features = ["test-util"]
  106         -
version = "1.9.3"
         105  +
version = "1.9.2"
  107    106   
  108    107   
[dev-dependencies.aws-smithy-types]
  109    108   
path = "../aws-smithy-types"
  110    109   
features = ["test-util"]
  111         -
version = "1.3.5"
         110  +
version = "1.3.4"
  112    111   
  113    112   
[dev-dependencies.tokio]
  114    113   
version = "1.25"
  115    114   
features = ["macros", "rt", "rt-multi-thread", "test-util", "full"]
  116    115   
  117    116   
[dev-dependencies.tracing-subscriber]
  118    117   
version = "0.3.16"
  119    118   
features = ["env-filter"]
  120    119   
  121    120   
[dev-dependencies.hyper_0_14]

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

@@ -1,1 +91,189 @@
    1      1   
/*
    2      2   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    3      3   
 * SPDX-License-Identifier: Apache-2.0
    4      4   
 */
    5      5   
    6      6   
//! The [`NoAuthRuntimePlugin`] and supporting code.
    7      7   
    8      8   
use crate::client::identity::no_auth::NoAuthIdentityResolver;
    9      9   
use aws_smithy_runtime_api::box_error::BoxError;
          10  +
use aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolver;
   10     11   
use aws_smithy_runtime_api::client::auth::{
   11         -
    AuthScheme, AuthSchemeEndpointConfig, AuthSchemeId, SharedAuthScheme, Sign,
          12  +
    AuthScheme, AuthSchemeEndpointConfig, AuthSchemeId, AuthSchemeOption,
          13  +
    AuthSchemeOptionResolverParams, AuthSchemeOptionsFuture, ResolveAuthSchemeOptions,
          14  +
    SharedAuthScheme, SharedAuthSchemeOptionResolver, Sign,
   12     15   
};
   13     16   
use aws_smithy_runtime_api::client::identity::{Identity, SharedIdentityResolver};
   14     17   
use aws_smithy_runtime_api::client::orchestrator::HttpRequest;
   15     18   
use aws_smithy_runtime_api::client::runtime_components::{
   16     19   
    GetIdentityResolver, RuntimeComponents, RuntimeComponentsBuilder,
   17     20   
};
   18     21   
use aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugin;
          22  +
use aws_smithy_runtime_api::shared::IntoShared;
   19     23   
use aws_smithy_types::config_bag::ConfigBag;
   20     24   
use std::borrow::Cow;
   21     25   
   22     26   
/// Auth scheme ID for "no auth".
   23     27   
pub const NO_AUTH_SCHEME_ID: AuthSchemeId = AuthSchemeId::new("noAuth");
   24     28   
   25     29   
/// A [`RuntimePlugin`] that registers a "no auth" identity resolver and auth scheme.
   26     30   
///
   27     31   
/// This plugin can be used to disable authentication in certain cases, such as when there is
   28     32   
/// a Smithy `@optionalAuth` trait.
          33  +
///
          34  +
/// Note: This plugin does not work out of the box because it does not configure an auth scheme option resolver
          35  +
/// that recognizes the `noAuth` scheme.
          36  +
#[doc(hidden)]
   29     37   
#[non_exhaustive]
   30     38   
#[derive(Debug)]
          39  +
#[deprecated(since = "1.9.5", note = "Use `NoAuthRuntimePluginV2` instead")]
   31     40   
pub struct NoAuthRuntimePlugin(RuntimeComponentsBuilder);
   32     41   
          42  +
#[allow(deprecated)]
   33     43   
impl Default for NoAuthRuntimePlugin {
   34     44   
    fn default() -> Self {
   35     45   
        Self::new()
   36     46   
    }
   37     47   
}
   38     48   
          49  +
#[allow(deprecated)]
   39     50   
impl NoAuthRuntimePlugin {
   40     51   
    /// Creates a new `NoAuthRuntimePlugin`.
   41     52   
    pub fn new() -> Self {
   42     53   
        Self(
   43     54   
            RuntimeComponentsBuilder::new("NoAuthRuntimePlugin")
   44     55   
                .with_identity_resolver(
   45     56   
                    NO_AUTH_SCHEME_ID,
   46     57   
                    SharedIdentityResolver::new(NoAuthIdentityResolver::new()),
   47     58   
                )
   48     59   
                .with_auth_scheme(SharedAuthScheme::new(NoAuthScheme::new())),
   49     60   
        )
   50     61   
    }
   51     62   
}
   52     63   
          64  +
#[allow(deprecated)]
   53     65   
impl RuntimePlugin for NoAuthRuntimePlugin {
   54     66   
    fn runtime_components(
   55     67   
        &self,
   56     68   
        _: &RuntimeComponentsBuilder,
   57     69   
    ) -> Cow<'_, RuntimeComponentsBuilder> {
   58     70   
        Cow::Borrowed(&self.0)
   59     71   
    }
   60     72   
}
   61     73   
          74  +
/// A [`RuntimePlugin`] that registers a "no auth" identity resolver, auth scheme, and auth scheme option resolver.
          75  +
///
          76  +
/// Ideally, a Smithy model should use `@optionalAuth` or `@auth([])` on operations so that:
          77  +
/// - The Smithy runtime supports the no-auth scheme
          78  +
/// - The code-generated default auth scheme option resolver includes the no-auth scheme for those operations
          79  +
///
          80  +
/// When that is not possible, this plugin can be used to achieve the same effect.
          81  +
#[derive(Debug)]
          82  +
pub struct NoAuthRuntimePluginV2(RuntimeComponentsBuilder);
          83  +
          84  +
impl Default for NoAuthRuntimePluginV2 {
          85  +
    fn default() -> Self {
          86  +
        Self::new()
          87  +
    }
          88  +
}
          89  +
          90  +
impl NoAuthRuntimePluginV2 {
          91  +
    /// Creates a new `NoAuthRuntimePluginV2`.
          92  +
    pub fn new() -> Self {
          93  +
        Self(
          94  +
            RuntimeComponentsBuilder::new("NoAuthRuntimePluginV2")
          95  +
                .with_identity_resolver(
          96  +
                    NO_AUTH_SCHEME_ID,
          97  +
                    SharedIdentityResolver::new(NoAuthIdentityResolver::new()),
          98  +
                )
          99  +
                .with_auth_scheme(SharedAuthScheme::new(NoAuthScheme::new())),
         100  +
        )
         101  +
    }
         102  +
}
         103  +
         104  +
impl RuntimePlugin for NoAuthRuntimePluginV2 {
         105  +
    fn runtime_components(
         106  +
        &self,
         107  +
        current_components: &RuntimeComponentsBuilder,
         108  +
    ) -> Cow<'_, RuntimeComponentsBuilder> {
         109  +
        // No auth scheme option resolver is configured here because it needs to access
         110  +
        // the existing resolver (likely the code-generated default) stored in the
         111  +
        // current runtime components builder.
         112  +
        let auth_scheme_option_resolver: SharedAuthSchemeOptionResolver =
         113  +
            match current_components.auth_scheme_option_resolver() {
         114  +
                Some(current_resolver) => {
         115  +
                    NoAuthSchemeOptionResolver::new(current_resolver.clone()).into_shared()
         116  +
                }
         117  +
                None => StaticAuthSchemeOptionResolver::new(vec![NO_AUTH_SCHEME_ID]).into_shared(),
         118  +
            };
         119  +
        Cow::Owned(
         120  +
            self.0
         121  +
                .clone()
         122  +
                .with_auth_scheme_option_resolver(Some(auth_scheme_option_resolver)),
         123  +
        )
         124  +
    }
         125  +
}
         126  +
         127  +
#[derive(Debug)]
         128  +
struct NoAuthSchemeOptionResolver<R> {
         129  +
    inner: R,
         130  +
}
         131  +
         132  +
impl<R> NoAuthSchemeOptionResolver<R> {
         133  +
    fn new(inner: R) -> Self {
         134  +
        Self { inner }
         135  +
    }
         136  +
}
         137  +
         138  +
impl<R> ResolveAuthSchemeOptions for NoAuthSchemeOptionResolver<R>
         139  +
where
         140  +
    R: ResolveAuthSchemeOptions,
         141  +
{
         142  +
    fn resolve_auth_scheme_options_v2<'a>(
         143  +
        &'a self,
         144  +
        params: &'a AuthSchemeOptionResolverParams,
         145  +
        cfg: &'a ConfigBag,
         146  +
        runtime_components: &'a RuntimeComponents,
         147  +
    ) -> AuthSchemeOptionsFuture<'a> {
         148  +
        let inner_future =
         149  +
            self.inner
         150  +
                .resolve_auth_scheme_options_v2(params, cfg, runtime_components);
         151  +
         152  +
        AuthSchemeOptionsFuture::new(async move {
         153  +
            let mut options = inner_future.await?;
         154  +
            options.push(AuthSchemeOption::from(NO_AUTH_SCHEME_ID));
         155  +
            Ok(options)
         156  +
        })
         157  +
    }
         158  +
}
         159  +
   62    160   
/// The "no auth" auth scheme.
   63    161   
///
   64    162   
/// The orchestrator requires an auth scheme, so Smithy's `@optionalAuth` trait is implemented
   65    163   
/// by placing a "no auth" auth scheme at the end of the auth scheme options list so that it is
   66    164   
/// used if there's no identity resolver available for the other auth schemes. It's also used
   67    165   
/// for models that don't have auth at all.
   68    166   
#[derive(Debug, Default)]
   69    167   
pub struct NoAuthScheme {
   70    168   
    signer: NoAuthSigner,
   71    169   
}

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

@@ -458,458 +518,518 @@
  478    478   
    runtime_components: &RuntimeComponents,
  479    479   
) {
  480    480   
    run_interceptors!(continue_on_err: {
  481    481   
        modify_before_completion(ctx, runtime_components, cfg);
  482    482   
        read_after_execution(ctx, runtime_components, cfg);
  483    483   
    });
  484    484   
}
  485    485   
  486    486   
#[cfg(all(test, any(feature = "test-util", feature = "legacy-test-util")))]
  487    487   
mod tests {
  488         -
    use crate::client::auth::no_auth::{NoAuthRuntimePlugin, NO_AUTH_SCHEME_ID};
         488  +
    use crate::client::auth::no_auth::{NoAuthRuntimePluginV2, NO_AUTH_SCHEME_ID};
  489    489   
    use crate::client::orchestrator::endpoints::StaticUriEndpointResolver;
  490    490   
    use crate::client::orchestrator::{invoke, invoke_with_stop_point, StopPoint};
  491    491   
    use crate::client::retries::strategy::NeverRetryStrategy;
  492    492   
    use crate::client::test_util::{
  493    493   
        deserializer::CannedResponseDeserializer, serializer::CannedRequestSerializer,
  494    494   
    };
  495    495   
    use aws_smithy_http_client::test_util::NeverClient;
  496    496   
    use aws_smithy_runtime_api::box_error::BoxError;
  497    497   
    use aws_smithy_runtime_api::client::auth::static_resolver::StaticAuthSchemeOptionResolver;
  498    498   
    use aws_smithy_runtime_api::client::auth::{
@@ -670,670 +730,730 @@
  690    690   
            impl RuntimePlugin for FailingInterceptorsOperationRuntimePlugin {
  691    691   
                fn runtime_components(&self, _: &RuntimeComponentsBuilder) -> Cow<'_, RuntimeComponentsBuilder> {
  692    692   
                    Cow::Borrowed(&self.0)
  693    693   
                }
  694    694   
            }
  695    695   
  696    696   
            let input = Input::doesnt_matter();
  697    697   
            let runtime_plugins = RuntimePlugins::new()
  698    698   
                .with_client_plugin(FailingInterceptorsClientRuntimePlugin::new())
  699    699   
                .with_operation_plugin(TestOperationRuntimePlugin::new())
  700         -
                .with_operation_plugin(NoAuthRuntimePlugin::new())
         700  +
                .with_operation_plugin(NoAuthRuntimePluginV2::new())
  701    701   
                .with_operation_plugin(FailingInterceptorsOperationRuntimePlugin::new());
  702    702   
            let actual = invoke("test", "test", input, &runtime_plugins)
  703    703   
                .await
  704    704   
                .expect_err("should error");
  705    705   
            let actual = format!("{:?}", actual);
  706    706   
            assert!(
  707    707   
                actual.starts_with(&$expected),
  708    708   
                "\nActual error:      {actual}\nShould start with: {}\n",
  709    709   
                $expected
  710    710   
            );
@@ -957,957 +1017,1017 @@
  977    977   
            }
  978    978   
            impl RuntimePlugin for InterceptorsTestOperationRuntimePlugin {
  979    979   
                fn runtime_components(&self, _: &RuntimeComponentsBuilder) -> Cow<'_, RuntimeComponentsBuilder> {
  980    980   
                    Cow::Borrowed(&self.0)
  981    981   
                }
  982    982   
            }
  983    983   
  984    984   
            let input = Input::doesnt_matter();
  985    985   
            let runtime_plugins = RuntimePlugins::new()
  986    986   
                .with_operation_plugin(TestOperationRuntimePlugin::new())
  987         -
                .with_operation_plugin(NoAuthRuntimePlugin::new())
         987  +
                .with_operation_plugin(NoAuthRuntimePluginV2::new())
  988    988   
                .with_operation_plugin(InterceptorsTestOperationRuntimePlugin::new());
  989    989   
            let actual = invoke("test", "test", input, &runtime_plugins)
  990    990   
                .await
  991    991   
                .expect_err("should error");
  992    992   
            let actual = format!("{:?}", actual);
  993    993   
            assert!(
  994    994   
                actual.starts_with(&$expected),
  995    995   
                "\nActual error:      {actual}\nShould start with: {}\n",
  996    996   
                $expected
  997    997   
            );
@@ -1203,1203 +1263,1263 @@
 1223   1223   
            &FinalizerInterceptorContextRef<'_>,
 1224   1224   
            expected
 1225   1225   
        );
 1226   1226   
    }
 1227   1227   
 1228   1228   
    #[tokio::test]
 1229   1229   
    async fn test_stop_points() {
 1230   1230   
        let runtime_plugins = || {
 1231   1231   
            RuntimePlugins::new()
 1232   1232   
                .with_operation_plugin(TestOperationRuntimePlugin::new())
 1233         -
                .with_operation_plugin(NoAuthRuntimePlugin::new())
        1233  +
                .with_operation_plugin(NoAuthRuntimePluginV2::new())
 1234   1234   
        };
 1235   1235   
 1236   1236   
        // StopPoint::None should result in a response getting set since orchestration doesn't stop
 1237   1237   
        let context = invoke_with_stop_point(
 1238   1238   
            "test",
 1239   1239   
            "test",
 1240   1240   
            Input::doesnt_matter(),
 1241   1241   
            &runtime_plugins(),
 1242   1242   
            StopPoint::None,
 1243   1243   
        )
@@ -1306,1306 +1366,1366 @@
 1326   1326   
            ) -> Cow<'_, RuntimeComponentsBuilder> {
 1327   1327   
                Cow::Borrowed(&self.builder)
 1328   1328   
            }
 1329   1329   
        }
 1330   1330   
 1331   1331   
        let interceptor = TestInterceptor::default();
 1332   1332   
        let client = NeverClient::new();
 1333   1333   
        let runtime_plugins = || {
 1334   1334   
            RuntimePlugins::new()
 1335   1335   
                .with_operation_plugin(TestOperationRuntimePlugin::new())
 1336         -
                .with_operation_plugin(NoAuthRuntimePlugin::new())
        1336  +
                .with_operation_plugin(NoAuthRuntimePluginV2::new())
 1337   1337   
                .with_operation_plugin(TestInterceptorRuntimePlugin {
 1338   1338   
                    builder: RuntimeComponentsBuilder::new("test")
 1339   1339   
                        .with_interceptor(SharedInterceptor::new(interceptor.clone()))
 1340   1340   
                        .with_http_client(Some(client.clone())),
 1341   1341   
                })
 1342   1342   
        };
 1343   1343   
 1344   1344   
        // StopPoint::BeforeTransmit will exit right before sending the request, so there should be no response
 1345   1345   
        let _err = invoke_with_stop_point(
 1346   1346   
            "test",

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/src/client/retries/token_bucket.rs

@@ -60,60 +129,119 @@
   80     80   
        if self.semaphore.available_permits() < self.max_permits {
   81     81   
            trace!("adding {PERMIT_REGENERATION_AMOUNT} back into the bucket");
   82     82   
            self.semaphore.add_permits(PERMIT_REGENERATION_AMOUNT)
   83     83   
        }
   84     84   
    }
   85     85   
   86     86   
    #[cfg(all(test, any(feature = "test-util", feature = "legacy-test-util")))]
   87     87   
    pub(crate) fn available_permits(&self) -> usize {
   88     88   
        self.semaphore.available_permits()
   89     89   
    }
   90         -
   91         -
    /// Returns true if the token bucket is full, false otherwise
   92         -
    pub fn is_full(&self) -> bool {
   93         -
        self.semaphore.available_permits() >= self.max_permits
   94         -
    }
   95         -
   96         -
    /// Returns true if the token bucket is empty, false otherwise
   97         -
    pub fn is_empty(&self) -> bool {
   98         -
        self.semaphore.available_permits() == 0
   99         -
    }
  100     90   
}
  101     91   
  102     92   
/// Builder for constructing a `TokenBucket`.
  103     93   
#[derive(Clone, Debug, Default)]
  104     94   
pub struct TokenBucketBuilder {
  105     95   
    capacity: Option<usize>,
  106     96   
    retry_cost: Option<u32>,
  107     97   
    timeout_retry_cost: Option<u32>,
  108     98   
}
  109     99