AWS SDK

AWS SDK

rev. 883c1c11b9534c70b8710afacb15e36a4421ca4d

Files changed:

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

@@ -32,32 +92,92 @@
   52     52   
path = "../sts"
   53     53   
default-features = false
   54     54   
version = "0.0.0-local"
   55     55   
   56     56   
[dependencies.aws-smithy-async]
   57     57   
path = "../aws-smithy-async"
   58     58   
version = "1.2.13"
   59     59   
   60     60   
[dependencies.aws-smithy-http]
   61     61   
path = "../aws-smithy-http"
   62         -
version = "0.63.5"
          62  +
version = "0.63.6"
   63     63   
   64     64   
[dependencies.aws-smithy-json]
   65     65   
path = "../aws-smithy-json"
   66     66   
version = "0.62.4"
   67     67   
   68     68   
[dependencies.aws-smithy-runtime]
   69     69   
path = "../aws-smithy-runtime"
   70     70   
features = ["client"]
   71     71   
version = "1.10.2"
   72     72   

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

@@ -25,25 +85,85 @@
   45     45   
path = "../aws-smithy-async"
   46     46   
version = "1.2.13"
   47     47   
   48     48   
[dependencies.aws-smithy-eventstream]
   49     49   
path = "../aws-smithy-eventstream"
   50     50   
optional = true
   51     51   
version = "0.60.19"
   52     52   
   53     53   
[dependencies.aws-smithy-http]
   54     54   
path = "../aws-smithy-http"
   55         -
version = "0.63.5"
          55  +
version = "0.63.6"
   56     56   
   57     57   
[dependencies.aws-smithy-runtime]
   58     58   
path = "../aws-smithy-runtime"
   59     59   
features = ["client"]
   60     60   
version = "1.10.2"
   61     61   
   62     62   
[dependencies.aws-smithy-runtime-api]
   63     63   
path = "../aws-smithy-runtime-api"
   64     64   
features = ["client", "http-1x"]
   65     65   
version = "1.11.5"

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

@@ -27,27 +87,87 @@
   47     47   
path = "../aws-credential-types"
   48     48   
version = "1.2.13"
   49     49   
   50     50   
[dependencies.aws-smithy-eventstream]
   51     51   
path = "../aws-smithy-eventstream"
   52     52   
optional = true
   53     53   
version = "0.60.19"
   54     54   
   55     55   
[dependencies.aws-smithy-http]
   56     56   
path = "../aws-smithy-http"
   57         -
version = "0.63.5"
          57  +
version = "0.63.6"
   58     58   
   59     59   
[dependencies.aws-smithy-runtime-api]
   60     60   
path = "../aws-smithy-runtime-api"
   61     61   
features = ["client"]
   62     62   
version = "1.11.5"
   63     63   
   64     64   
[dependencies.aws-smithy-types]
   65     65   
path = "../aws-smithy-types"
   66     66   
version = "1.4.5"
   67     67   

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

@@ -1,1 +52,52 @@
   20     20   
hex = "0.4.3"
   21     21   
http-body-util = "0.1.3"
   22     22   
md-5 = "0.10"
   23     23   
pin-project-lite = "0.2.14"
   24     24   
sha1 = "0.10"
   25     25   
sha2 = "0.10"
   26     26   
tracing = "0.1.44"
   27     27   
   28     28   
[dependencies.aws-smithy-http]
   29     29   
path = "../aws-smithy-http"
   30         -
version = "0.63.5"
          30  +
version = "0.63.6"
   31     31   
   32     32   
[dependencies.aws-smithy-types]
   33     33   
path = "../aws-smithy-types"
   34     34   
features = ["http-body-1-x"]
   35     35   
version = "1.4.5"
   36     36   
   37     37   
[dependencies.http-1x]
   38     38   
package = "http"
   39     39   
version = "1.3.1"
   40     40   

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/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-http"
    4         -
version = "0.63.5"
           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 = "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     10   
rust-version = "1.91"
   11     11   
[package.metadata.docs.rs]
   12     12   
all-features = true
   13     13   
targets = ["x86_64-unknown-linux-gnu"]
   14     14   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]

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.63.5"
          24  +
version = "0.63.6"
   25     25   
   26     26   
[workspace]
   27     27   
members = ["."]

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/event_stream.rs

@@ -1,1 +20,23 @@
    7      7   
    8      8   
use std::error::Error as StdError;
    9      9   
   10     10   
mod receiver;
   11     11   
mod sender;
   12     12   
   13     13   
/// A generic, boxed error that's `Send`, `Sync`, and `'static`.
   14     14   
pub type BoxError = Box<dyn StdError + Send + Sync + 'static>;
   15     15   
   16     16   
#[doc(inline)]
   17         -
pub use sender::{EventStreamSender, MessageStreamAdapter, MessageStreamError};
          17  +
pub use sender::{
          18  +
    EventOrInitial, EventOrInitialMarshaller, EventStreamSender, MessageStreamAdapter,
          19  +
    MessageStreamError,
          20  +
};
   18     21   
   19     22   
#[doc(inline)]
   20     23   
pub use receiver::{InitialMessageType, Receiver, ReceiverError};

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/event_stream/sender.rs

@@ -1,1 +79,97 @@
    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   
use aws_smithy_eventstream::frame::{write_message_to, MarshallMessage, SignMessage};
    7      7   
use aws_smithy_eventstream::message_size_hint::MessageSizeHint;
    8      8   
use aws_smithy_runtime_api::client::result::SdkError;
    9      9   
use aws_smithy_types::error::ErrorMetadata;
          10  +
use aws_smithy_types::event_stream::Message;
   10     11   
use bytes::Bytes;
   11     12   
use futures_core::Stream;
   12     13   
use std::error::Error as StdError;
   13     14   
use std::fmt;
   14     15   
use std::fmt::Debug;
   15     16   
use std::marker::PhantomData;
   16     17   
use std::pin::Pin;
   17     18   
use std::task::{Context, Poll};
   18     19   
use tracing::trace;
   19     20   
          21  +
/// Wrapper for event stream items that may include an initial-request message.
          22  +
/// This is used internally to allow initial messages to flow through the signing pipeline.
          23  +
#[doc(hidden)]
          24  +
#[derive(Debug)]
          25  +
pub enum EventOrInitial<T> {
          26  +
    /// A regular event that needs marshalling and signing
          27  +
    Event(T),
          28  +
    /// An initial-request message that's already marshalled, just needs signing
          29  +
    InitialMessage(Message),
          30  +
}
          31  +
   20     32   
/// Input type for Event Streams.
   21     33   
pub struct EventStreamSender<T, E> {
   22     34   
    input_stream: Pin<Box<dyn Stream<Item = Result<T, E>> + Send + Sync>>,
   23     35   
}
   24     36   
   25     37   
impl<T, E> Debug for EventStreamSender<T, E> {
   26     38   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
   27     39   
        let name_t = std::any::type_name::<T>();
   28     40   
        let name_e = std::any::type_name::<E>();
   29     41   
        write!(f, "EventStreamSender<{name_t}, {name_e}>")
   30     42   
    }
   31     43   
}
   32     44   
   33     45   
impl<T: Send + Sync + 'static, E: StdError + Send + Sync + 'static> EventStreamSender<T, E> {
   34     46   
    /// Creates an `EventStreamSender` from a single item.
   35     47   
    pub fn once(item: Result<T, E>) -> Self {
   36     48   
        Self::from(futures_util::stream::once(async move { item }))
   37     49   
    }
   38     50   
}
   39     51   
   40     52   
impl<T: Send + Sync, E: StdError + Send + Sync + 'static> EventStreamSender<T, E> {
   41     53   
    #[doc(hidden)]
   42     54   
    pub fn into_body_stream(
   43     55   
        self,
   44     56   
        marshaller: impl MarshallMessage<Input = T> + Send + Sync + 'static,
   45     57   
        error_marshaller: impl MarshallMessage<Input = E> + Send + Sync + 'static,
   46     58   
        signer: impl SignMessage + Send + Sync + 'static,
   47     59   
    ) -> MessageStreamAdapter<T, E> {
   48     60   
        MessageStreamAdapter::new(marshaller, error_marshaller, signer, self.input_stream)
   49     61   
    }
          62  +
          63  +
    /// Extract the inner stream. This is used internally for composing streams.
          64  +
    #[doc(hidden)]
          65  +
    pub fn into_inner(self) -> Pin<Box<dyn Stream<Item = Result<T, E>> + Send + Sync>> {
          66  +
        self.input_stream
          67  +
    }
   50     68   
}
   51     69   
   52     70   
impl<T, E, S> From<S> for EventStreamSender<T, E>
   53     71   
where
   54     72   
    S: Stream<Item = Result<T, E>> + Send + Sync + 'static,
   55     73   
{
   56     74   
    fn from(stream: S) -> Self {
   57     75   
        EventStreamSender {
   58     76   
            input_stream: Box::pin(stream),
   59     77   
        }
@@ -175,193 +234,284 @@
  195    213   
                    }
  196    214   
                } else {
  197    215   
                    Poll::Ready(None)
  198    216   
                }
  199    217   
            }
  200    218   
            Poll::Pending => Poll::Pending,
  201    219   
        }
  202    220   
    }
  203    221   
}
  204    222   
         223  +
/// Marshaller wrapper that handles both regular events and initial messages.
         224  +
/// This is used internally to support initial-request messages in event streams.
         225  +
#[doc(hidden)]
         226  +
#[derive(Debug)]
         227  +
pub struct EventOrInitialMarshaller<M> {
         228  +
    inner: M,
         229  +
}
         230  +
         231  +
impl<M> EventOrInitialMarshaller<M> {
         232  +
    #[doc(hidden)]
         233  +
    pub fn new(inner: M) -> Self {
         234  +
        Self { inner }
         235  +
    }
         236  +
}
         237  +
         238  +
impl<M, T> MarshallMessage for EventOrInitialMarshaller<M>
         239  +
where
         240  +
    M: MarshallMessage<Input = T>,
         241  +
{
         242  +
    type Input = EventOrInitial<T>;
         243  +
         244  +
    fn marshall(
         245  +
        &self,
         246  +
        input: Self::Input,
         247  +
    ) -> Result<Message, aws_smithy_eventstream::error::Error> {
         248  +
        match input {
         249  +
            EventOrInitial::Event(event) => self.inner.marshall(event),
         250  +
            EventOrInitial::InitialMessage(message) => Ok(message),
         251  +
        }
         252  +
    }
         253  +
}
         254  +
  205    255   
#[cfg(test)]
  206    256   
mod tests {
  207    257   
    use super::MarshallMessage;
  208    258   
    use crate::event_stream::{EventStreamSender, MessageStreamAdapter};
  209    259   
    use async_stream::stream;
  210    260   
    use aws_smithy_eventstream::error::Error as EventStreamError;
  211    261   
    use aws_smithy_eventstream::frame::{
  212    262   
        read_message_from, write_message_to, NoOpSigner, SignMessage, SignMessageError,
  213    263   
    };
  214    264   
    use aws_smithy_runtime_api::client::result::SdkError;

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-legacy-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.63.5"
          24  +
version = "0.63.6"
   25     25   
   26     26   
[workspace]
   27     27   
members = ["."]

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

@@ -17,17 +77,77 @@
   37     37   
pin-project-lite = "0.2.14"
   38     38   
pin-utils = "0.1.0"
   39     39   
tracing = "0.1.44"
   40     40   
   41     41   
[dependencies.aws-smithy-async]
   42     42   
path = "../aws-smithy-async"
   43     43   
version = "1.2.13"
   44     44   
   45     45   
[dependencies.aws-smithy-http]
   46     46   
path = "../aws-smithy-http"
   47         -
version = "0.63.5"
          47  +
version = "0.63.6"
   48     48   
   49     49   
[dependencies.aws-smithy-observability]
   50     50   
path = "../aws-smithy-observability"
   51     51   
version = "0.2.5"
   52     52   
   53     53   
[dependencies.aws-smithy-runtime-api]
   54     54   
path = "../aws-smithy-runtime-api"
   55     55   
version = "1.11.5"
   56     56   
   57     57   
[dependencies.aws-smithy-types]

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

@@ -1,1 +34,34 @@
   20     20   
tracing = "0.1.44"
   21     21   
wasip2 = "=1.0.1"
   22     22   
   23     23   
[dependencies.aws-smithy-runtime-api]
   24     24   
path = "../aws-smithy-runtime-api"
   25     25   
features = ["http-1x"]
   26     26   
version = "1.11.5"
   27     27   
   28     28   
[dependencies.aws-smithy-http]
   29     29   
path = "../aws-smithy-http"
   30         -
version = "0.63.5"
          30  +
version = "0.63.6"
   31     31   
   32     32   
[dependencies.aws-smithy-types]
   33     33   
path = "../aws-smithy-types"
   34     34   
version = "1.4.5"

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

@@ -12,12 +72,72 @@
   32     32   
path = "../aws-smithy-async"
   33     33   
version = "1.2.13"
   34     34   
   35     35   
[dependencies.aws-smithy-eventstream]
   36     36   
path = "../aws-smithy-eventstream"
   37     37   
version = "0.60.19"
   38     38   
   39     39   
[dependencies.aws-smithy-http]
   40     40   
path = "../aws-smithy-http"
   41     41   
features = ["event-stream"]
   42         -
version = "0.63.5"
          42  +
version = "0.63.6"
   43     43   
   44     44   
[dependencies.aws-smithy-json]
   45     45   
path = "../aws-smithy-json"
   46     46   
version = "0.62.4"
   47     47   
   48     48   
[dependencies.aws-smithy-observability]
   49     49   
path = "../aws-smithy-observability"
   50     50   
version = "0.2.5"
   51     51   
   52     52   
[dependencies.aws-smithy-runtime]

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

@@ -8,8 +68,68 @@
   28     28   
path = "../aws-smithy-async"
   29     29   
version = "1.2.13"
   30     30   
   31     31   
[dependencies.aws-smithy-eventstream]
   32     32   
path = "../aws-smithy-eventstream"
   33     33   
version = "0.60.19"
   34     34   
   35     35   
[dependencies.aws-smithy-http]
   36     36   
path = "../aws-smithy-http"
   37     37   
features = ["event-stream"]
   38         -
version = "0.63.5"
          38  +
version = "0.63.6"
   39     39   
   40     40   
[dependencies.aws-smithy-json]
   41     41   
path = "../aws-smithy-json"
   42     42   
version = "0.62.4"
   43     43   
   44     44   
[dependencies.aws-smithy-observability]
   45     45   
path = "../aws-smithy-observability"
   46     46   
version = "0.2.5"
   47     47   
   48     48   
[dependencies.aws-smithy-runtime]

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

@@ -2,2 +62,62 @@
   22     22   
[dependencies.aws-runtime]
   23     23   
path = "../aws-runtime"
   24     24   
version = "1.7.1"
   25     25   
   26     26   
[dependencies.aws-smithy-async]
   27     27   
path = "../aws-smithy-async"
   28     28   
version = "1.2.13"
   29     29   
   30     30   
[dependencies.aws-smithy-http]
   31     31   
path = "../aws-smithy-http"
   32         -
version = "0.63.5"
          32  +
version = "0.63.6"
   33     33   
   34     34   
[dependencies.aws-smithy-json]
   35     35   
path = "../aws-smithy-json"
   36     36   
version = "0.62.4"
   37     37   
   38     38   
[dependencies.aws-smithy-observability]
   39     39   
path = "../aws-smithy-observability"
   40     40   
version = "0.2.5"
   41     41   
   42     42   
[dependencies.aws-smithy-runtime]

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

@@ -2,2 +62,62 @@
   22     22   
[dependencies.aws-runtime]
   23     23   
path = "../aws-runtime"
   24     24   
version = "1.7.1"
   25     25   
   26     26   
[dependencies.aws-smithy-async]
   27     27   
path = "../aws-smithy-async"
   28     28   
version = "1.2.13"
   29     29   
   30     30   
[dependencies.aws-smithy-http]
   31     31   
path = "../aws-smithy-http"
   32         -
version = "0.63.5"
          32  +
version = "0.63.6"
   33     33   
   34     34   
[dependencies.aws-smithy-json]
   35     35   
path = "../aws-smithy-json"
   36     36   
version = "0.62.4"
   37     37   
   38     38   
[dependencies.aws-smithy-observability]
   39     39   
path = "../aws-smithy-observability"
   40     40   
version = "0.2.5"
   41     41   
   42     42   
[dependencies.aws-smithy-runtime]