AWS SDK

AWS SDK

rev. a7fb2e3446d314cfbe48069306e4e0a389b39aeb

Files changed:

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

@@ -11,11 +71,71 @@
   31     31   
pin-project-lite = "0.2.9"
   32     32   
tracing = "0.1"
   33     33   
   34     34   
[dependencies.aws-credential-types]
   35     35   
path = "../aws-credential-types"
   36     36   
version = "1.2.1"
   37     37   
   38     38   
[dependencies.aws-sigv4]
   39     39   
path = "../aws-sigv4"
   40     40   
features = ["http0-compat"]
   41         -
version = "1.2.5"
          41  +
version = "1.2.4"
   42     42   
   43     43   
[dependencies.aws-smithy-async]
   44     44   
path = "../aws-smithy-async"
   45     45   
version = "1.2.1"
   46     46   
   47     47   
[dependencies.aws-smithy-eventstream]
   48     48   
path = "../aws-smithy-eventstream"
   49     49   
optional = true
   50     50   
version = "0.60.5"
   51     51   

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

@@ -1,1 +43,43 @@
    3      3   
name = "hmac"
    4      4   
harness = false
    5      5   
    6      6   
[[bench]]
    7      7   
name = "sigv4a"
    8      8   
harness = false
    9      9   
required-features = ["sigv4a"]
   10     10   
   11     11   
[package]
   12     12   
name = "aws-sigv4"
   13         -
version = "1.2.5"
          13  +
version = "1.2.4"
   14     14   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "David Barsky <me@davidbarsky.com>"]
   15     15   
description = "SigV4 signer for HTTP requests and Event Stream messages."
   16     16   
edition = "2021"
   17     17   
exclude = ["aws-sig-v4-test-suite/*"]
   18     18   
license = "Apache-2.0"
   19     19   
repository = "https://github.com/smithy-lang/smithy-rs"
   20     20   
[package.metadata.docs.rs]
   21     21   
all-features = true
   22     22   
targets = ["x86_64-unknown-linux-gnu"]
   23     23   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs

@@ -66,66 +132,125 @@
   86     86   
   87     87   
    /// A precomputed body checksum. The checksum should be a SHA256 checksum of the body,
   88     88   
    /// lowercase hex encoded. Eg:
   89     89   
    /// `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`
   90     90   
    Precomputed(String),
   91     91   
   92     92   
    /// Set when a streaming body has checksum trailers.
   93     93   
    StreamingUnsignedPayloadTrailer,
   94     94   
}
   95     95   
   96         -
impl SignableBody<'_> {
   97         -
    /// Create a new empty signable body
   98         -
    pub fn empty() -> SignableBody<'static> {
   99         -
        SignableBody::Bytes(&[])
  100         -
    }
  101         -
}
  102         -
  103     96   
/// Instructions for applying a signature to an HTTP request.
  104     97   
#[derive(Debug)]
  105     98   
pub struct SigningInstructions {
  106     99   
    headers: Vec<Header>,
  107    100   
    params: Vec<(&'static str, Cow<'static, str>)>,
  108    101   
}
  109    102   
  110    103   
/// Header representation for use in [`SigningInstructions`]
  111    104   
pub struct Header {
  112    105   
    key: &'static str,

tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/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-checksums"
    4         -
version = "0.60.13"
           4  +
version = "0.60.12"
    5      5   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
    6      6   
description = "Checksum calculation and verification callbacks"
    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/bedrockruntime/Cargo.toml

@@ -46,46 +92,92 @@
   66     66   
[dependencies.once_cell]
   67     67   
version = "1.16"
   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.5.9"
          76  +
version = "1.5.8"
   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.1"
   82     82   
   83     83   
[dev-dependencies.tokio]
   84     84   
version = "1.23.1"
   85     85   
features = ["macros", "test-util", "rt-multi-thread"]
   86     86   

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/protocol_serde/shape_invoke_model.rs

@@ -159,159 +243,253 @@
  179    179   
            .map_err(crate::operation::invoke_model::InvokeModelError::unhandled)?
  180    180   
    })
  181    181   
}
  182    182   
  183    183   
pub fn ser_invoke_model_headers(
  184    184   
    input: &crate::operation::invoke_model::InvokeModelInput,
  185    185   
    mut builder: ::http::request::Builder,
  186    186   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  187    187   
    if let ::std::option::Option::Some(inner_1) = &input.content_type {
  188    188   
        let formatted_2 = inner_1.as_str();
  189         -
        let header_value = formatted_2;
  190         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  191         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  192         -
                "content_type",
  193         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  194         -
            )
  195         -
        })?;
  196         -
        builder = builder.header("Content-Type", header_value);
         189  +
        if !formatted_2.is_empty() {
         190  +
            let header_value = formatted_2;
         191  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         192  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         193  +
                    "content_type",
         194  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         195  +
                )
         196  +
            })?;
         197  +
            builder = builder.header("Content-Type", header_value);
         198  +
        }
  197    199   
    }
  198    200   
    if let ::std::option::Option::Some(inner_3) = &input.accept {
  199    201   
        let formatted_4 = inner_3.as_str();
  200         -
        let header_value = formatted_4;
  201         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  202         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  203         -
                "accept",
  204         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  205         -
            )
  206         -
        })?;
  207         -
        builder = builder.header("Accept", header_value);
         202  +
        if !formatted_4.is_empty() {
         203  +
            let header_value = formatted_4;
         204  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         205  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         206  +
                    "accept",
         207  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         208  +
                )
         209  +
            })?;
         210  +
            builder = builder.header("Accept", header_value);
         211  +
        }
  208    212   
    }
  209    213   
    if let ::std::option::Option::Some(inner_5) = &input.trace {
  210    214   
        let formatted_6 = inner_5.as_str();
  211         -
        let header_value = formatted_6;
  212         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  213         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  214         -
                "trace",
  215         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  216         -
            )
  217         -
        })?;
  218         -
        builder = builder.header("X-Amzn-Bedrock-Trace", header_value);
         215  +
        if !formatted_6.is_empty() {
         216  +
            let header_value = formatted_6;
         217  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         218  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         219  +
                    "trace",
         220  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         221  +
                )
         222  +
            })?;
         223  +
            builder = builder.header("X-Amzn-Bedrock-Trace", header_value);
         224  +
        }
  219    225   
    }
  220    226   
    if let ::std::option::Option::Some(inner_7) = &input.guardrail_identifier {
  221    227   
        let formatted_8 = inner_7.as_str();
  222         -
        let header_value = formatted_8;
  223         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  224         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  225         -
                "guardrail_identifier",
  226         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  227         -
            )
  228         -
        })?;
  229         -
        builder = builder.header("X-Amzn-Bedrock-GuardrailIdentifier", header_value);
         228  +
        if !formatted_8.is_empty() {
         229  +
            let header_value = formatted_8;
         230  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         231  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         232  +
                    "guardrail_identifier",
         233  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         234  +
                )
         235  +
            })?;
         236  +
            builder = builder.header("X-Amzn-Bedrock-GuardrailIdentifier", header_value);
         237  +
        }
  230    238   
    }
  231    239   
    if let ::std::option::Option::Some(inner_9) = &input.guardrail_version {
  232    240   
        let formatted_10 = inner_9.as_str();
  233         -
        let header_value = formatted_10;
  234         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  235         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  236         -
                "guardrail_version",
  237         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  238         -
            )
  239         -
        })?;
  240         -
        builder = builder.header("X-Amzn-Bedrock-GuardrailVersion", header_value);
         241  +
        if !formatted_10.is_empty() {
         242  +
            let header_value = formatted_10;
         243  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         244  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         245  +
                    "guardrail_version",
         246  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         247  +
                )
         248  +
            })?;
         249  +
            builder = builder.header("X-Amzn-Bedrock-GuardrailVersion", header_value);
         250  +
        }
  241    251   
    }
  242    252   
    Ok(builder)
  243    253   
}

tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/src/protocol_serde/shape_invoke_model_with_response_stream.rs

@@ -201,201 +285,295 @@
  221    221   
        _ => crate::operation::invoke_model_with_response_stream::InvokeModelWithResponseStreamError::generic(generic),
  222    222   
    })
  223    223   
}
  224    224   
  225    225   
pub fn ser_invoke_model_with_response_stream_headers(
  226    226   
    input: &crate::operation::invoke_model_with_response_stream::InvokeModelWithResponseStreamInput,
  227    227   
    mut builder: ::http::request::Builder,
  228    228   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  229    229   
    if let ::std::option::Option::Some(inner_1) = &input.content_type {
  230    230   
        let formatted_2 = inner_1.as_str();
  231         -
        let header_value = formatted_2;
  232         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  233         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  234         -
                "content_type",
  235         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  236         -
            )
  237         -
        })?;
  238         -
        builder = builder.header("Content-Type", header_value);
         231  +
        if !formatted_2.is_empty() {
         232  +
            let header_value = formatted_2;
         233  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         234  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         235  +
                    "content_type",
         236  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         237  +
                )
         238  +
            })?;
         239  +
            builder = builder.header("Content-Type", header_value);
         240  +
        }
  239    241   
    }
  240    242   
    if let ::std::option::Option::Some(inner_3) = &input.accept {
  241    243   
        let formatted_4 = inner_3.as_str();
  242         -
        let header_value = formatted_4;
  243         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  244         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  245         -
                "accept",
  246         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  247         -
            )
  248         -
        })?;
  249         -
        builder = builder.header("X-Amzn-Bedrock-Accept", header_value);
         244  +
        if !formatted_4.is_empty() {
         245  +
            let header_value = formatted_4;
         246  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         247  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         248  +
                    "accept",
         249  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         250  +
                )
         251  +
            })?;
         252  +
            builder = builder.header("X-Amzn-Bedrock-Accept", header_value);
         253  +
        }
  250    254   
    }
  251    255   
    if let ::std::option::Option::Some(inner_5) = &input.trace {
  252    256   
        let formatted_6 = inner_5.as_str();
  253         -
        let header_value = formatted_6;
  254         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  255         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  256         -
                "trace",
  257         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  258         -
            )
  259         -
        })?;
  260         -
        builder = builder.header("X-Amzn-Bedrock-Trace", header_value);
         257  +
        if !formatted_6.is_empty() {
         258  +
            let header_value = formatted_6;
         259  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         260  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         261  +
                    "trace",
         262  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         263  +
                )
         264  +
            })?;
         265  +
            builder = builder.header("X-Amzn-Bedrock-Trace", header_value);
         266  +
        }
  261    267   
    }
  262    268   
    if let ::std::option::Option::Some(inner_7) = &input.guardrail_identifier {
  263    269   
        let formatted_8 = inner_7.as_str();
  264         -
        let header_value = formatted_8;
  265         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  266         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  267         -
                "guardrail_identifier",
  268         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  269         -
            )
  270         -
        })?;
  271         -
        builder = builder.header("X-Amzn-Bedrock-GuardrailIdentifier", header_value);
         270  +
        if !formatted_8.is_empty() {
         271  +
            let header_value = formatted_8;
         272  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         273  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         274  +
                    "guardrail_identifier",
         275  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         276  +
                )
         277  +
            })?;
         278  +
            builder = builder.header("X-Amzn-Bedrock-GuardrailIdentifier", header_value);
         279  +
        }
  272    280   
    }
  273    281   
    if let ::std::option::Option::Some(inner_9) = &input.guardrail_version {
  274    282   
        let formatted_10 = inner_9.as_str();
  275         -
        let header_value = formatted_10;
  276         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  277         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  278         -
                "guardrail_version",
  279         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  280         -
            )
  281         -
        })?;
  282         -
        builder = builder.header("X-Amzn-Bedrock-GuardrailVersion", header_value);
         283  +
        if !formatted_10.is_empty() {
         284  +
            let header_value = formatted_10;
         285  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         286  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         287  +
                    "guardrail_version",
         288  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         289  +
                )
         290  +
            })?;
         291  +
            builder = builder.header("X-Amzn-Bedrock-GuardrailVersion", header_value);
         292  +
        }
  283    293   
    }
  284    294   
    Ok(builder)
  285    295   
}

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

@@ -44,44 +104,104 @@
   64     64   
[dependencies.once_cell]
   65     65   
version = "1.16"
   66     66   
   67     67   
[dependencies.regex-lite]
   68     68   
version = "0.1.5"
   69     69   
   70     70   
[dependencies.tracing]
   71     71   
version = "0.1"
   72     72   
[dev-dependencies.aws-config]
   73     73   
path = "../aws-config"
   74         -
version = "1.5.9"
          74  +
version = "1.5.8"
   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.1"
   80     80   
   81     81   
[dev-dependencies.aws-runtime]
   82     82   
path = "../aws-runtime"
   83     83   
features = ["test-util"]
   84     84   
version = "1.4.3"

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

@@ -41,41 +87,87 @@
   61     61   
[dependencies.once_cell]
   62     62   
version = "1.16"
   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.5.9"
          71  +
version = "1.5.8"
   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.1"
   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/dynamodb/Cargo.toml

@@ -47,47 +107,107 @@
   67     67   
[dependencies.regex-lite]
   68     68   
version = "0.1.5"
   69     69   
   70     70   
[dependencies.tracing]
   71     71   
version = "0.1"
   72     72   
[dev-dependencies.approx]
   73     73   
version = "0.5.1"
   74     74   
   75     75   
[dev-dependencies.aws-config]
   76     76   
path = "../aws-config"
   77         -
version = "1.5.9"
          77  +
version = "1.5.8"
   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.1"
   83     83   
   84     84   
[dev-dependencies.aws-runtime]
   85     85   
path = "../aws-runtime"
   86     86   
features = ["test-util"]
   87     87   
version = "1.4.3"

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

@@ -49,49 +109,109 @@
   69     69   
[dependencies.once_cell]
   70     70   
version = "1.16"
   71     71   
   72     72   
[dependencies.regex-lite]
   73     73   
version = "0.1.5"
   74     74   
   75     75   
[dependencies.tracing]
   76     76   
version = "0.1"
   77     77   
[dev-dependencies.aws-config]
   78     78   
path = "../aws-config"
   79         -
version = "1.5.9"
          79  +
version = "1.5.8"
   80     80   
   81     81   
[dev-dependencies.aws-credential-types]
   82     82   
path = "../aws-credential-types"
   83     83   
features = ["test-util"]
   84     84   
version = "1.2.1"
   85     85   
   86     86   
[dev-dependencies.aws-runtime]
   87     87   
path = "../aws-runtime"
   88     88   
features = ["test-util"]
   89     89   
version = "1.4.3"

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

@@ -44,44 +90,90 @@
   64     64   
[dependencies.once_cell]
   65     65   
version = "1.16"
   66     66   
   67     67   
[dependencies.regex-lite]
   68     68   
version = "0.1.5"
   69     69   
   70     70   
[dependencies.tracing]
   71     71   
version = "0.1"
   72     72   
[dev-dependencies.aws-config]
   73     73   
path = "../aws-config"
   74         -
version = "1.5.9"
          74  +
version = "1.5.8"
   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.1"
   80     80   
   81     81   
[dev-dependencies.tokio]
   82     82   
version = "1.23.1"
   83     83   
features = ["macros", "test-util", "rt-multi-thread"]
   84     84   

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

@@ -1,1 +111,111 @@
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19     19   
version = "1.2.1"
   20     20   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23     23   
version = "1.4.3"
   24     24   
   25     25   
[dependencies.aws-sigv4]
   26     26   
path = "../aws-sigv4"
   27         -
version = "1.2.5"
          27  +
version = "1.2.4"
   28     28   
   29     29   
[dependencies.aws-smithy-async]
   30     30   
path = "../aws-smithy-async"
   31     31   
version = "1.2.1"
   32     32   
   33     33   
[dependencies.aws-smithy-http]
   34     34   
path = "../aws-smithy-http"
   35     35   
version = "0.60.11"
   36     36   
   37     37   
[dependencies.aws-smithy-json]
   38     38   
path = "../aws-smithy-json"
   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.7.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.7.2"
   50     50   
   51     51   
[dependencies.aws-smithy-types]
   52     52   
path = "../aws-smithy-types"
   53     53   
version = "1.2.8"
   54     54   
   55     55   
[dependencies.aws-types]
   56     56   
path = "../aws-types"
   57     57   
version = "1.3.3"
   58     58   
   59     59   
[dependencies.bytes]
   60     60   
version = "1.4.0"
   61     61   
   62     62   
[dependencies.hex]
   63     63   
version = "0.4.3"
   64     64   
   65     65   
[dependencies.http]
   66     66   
version = "0.2.9"
   67     67   
   68     68   
[dependencies.once_cell]
   69     69   
version = "1.16"
   70     70   
   71     71   
[dependencies.regex-lite]
   72     72   
version = "0.1.5"
   73     73   
   74     74   
[dependencies.ring]
   75     75   
version = "0.17.5"
   76     76   
   77     77   
[dependencies.tracing]
   78     78   
version = "0.1"
   79     79   
[dev-dependencies.aws-config]
   80     80   
path = "../aws-config"
   81         -
version = "1.5.9"
          81  +
version = "1.5.8"
   82     82   
   83     83   
[dev-dependencies.aws-credential-types]
   84     84   
path = "../aws-credential-types"
   85     85   
features = ["test-util"]
   86     86   
version = "1.2.1"
   87     87   
   88     88   
[dev-dependencies.aws-runtime]
   89     89   
path = "../aws-runtime"
   90     90   
features = ["test-util"]
   91     91   
version = "1.4.3"

tmp-codegen-diff/aws-sdk/sdk/glacier/src/protocol_serde/shape_complete_multipart_upload.rs

@@ -114,114 +165,169 @@
  134    134   
        output.build()
  135    135   
    })
  136    136   
}
  137    137   
  138    138   
pub fn ser_complete_multipart_upload_headers(
  139    139   
    input: &crate::operation::complete_multipart_upload::CompleteMultipartUploadInput,
  140    140   
    mut builder: ::http::request::Builder,
  141    141   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  142    142   
    if let ::std::option::Option::Some(inner_1) = &input.archive_size {
  143    143   
        let formatted_2 = inner_1.as_str();
  144         -
        let header_value = formatted_2;
  145         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  146         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  147         -
                "archive_size",
  148         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  149         -
            )
  150         -
        })?;
  151         -
        builder = builder.header("x-amz-archive-size", header_value);
         144  +
        if !formatted_2.is_empty() {
         145  +
            let header_value = formatted_2;
         146  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         147  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         148  +
                    "archive_size",
         149  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         150  +
                )
         151  +
            })?;
         152  +
            builder = builder.header("x-amz-archive-size", header_value);
         153  +
        }
  152    154   
    }
  153    155   
    if let ::std::option::Option::Some(inner_3) = &input.checksum {
  154    156   
        let formatted_4 = inner_3.as_str();
  155         -
        let header_value = formatted_4;
  156         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  157         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  158         -
                "checksum",
  159         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  160         -
            )
  161         -
        })?;
  162         -
        builder = builder.header("x-amz-sha256-tree-hash", header_value);
         157  +
        if !formatted_4.is_empty() {
         158  +
            let header_value = formatted_4;
         159  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         160  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         161  +
                    "checksum",
         162  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         163  +
                )
         164  +
            })?;
         165  +
            builder = builder.header("x-amz-sha256-tree-hash", header_value);
         166  +
        }
  163    167   
    }
  164    168   
    Ok(builder)
  165    169   
}

tmp-codegen-diff/aws-sdk/sdk/glacier/src/protocol_serde/shape_get_job_output.rs

@@ -114,114 +154,156 @@
  134    134   
        _ => crate::operation::get_job_output::GetJobOutputError::generic(generic),
  135    135   
    })
  136    136   
}
  137    137   
  138    138   
pub fn ser_get_job_output_headers(
  139    139   
    input: &crate::operation::get_job_output::GetJobOutputInput,
  140    140   
    mut builder: ::http::request::Builder,
  141    141   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  142    142   
    if let ::std::option::Option::Some(inner_1) = &input.range {
  143    143   
        let formatted_2 = inner_1.as_str();
  144         -
        let header_value = formatted_2;
  145         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  146         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  147         -
                "range",
  148         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  149         -
            )
  150         -
        })?;
  151         -
        builder = builder.header("Range", header_value);
         144  +
        if !formatted_2.is_empty() {
         145  +
            let header_value = formatted_2;
         146  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         147  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         148  +
                    "range",
         149  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         150  +
                )
         151  +
            })?;
         152  +
            builder = builder.header("Range", header_value);
         153  +
        }
  152    154   
    }
  153    155   
    Ok(builder)
  154    156   
}

tmp-codegen-diff/aws-sdk/sdk/glacier/src/protocol_serde/shape_initiate_multipart_upload.rs

@@ -107,107 +158,162 @@
  127    127   
        output.build()
  128    128   
    })
  129    129   
}
  130    130   
  131    131   
pub fn ser_initiate_multipart_upload_headers(
  132    132   
    input: &crate::operation::initiate_multipart_upload::InitiateMultipartUploadInput,
  133    133   
    mut builder: ::http::request::Builder,
  134    134   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  135    135   
    if let ::std::option::Option::Some(inner_1) = &input.archive_description {
  136    136   
        let formatted_2 = inner_1.as_str();
  137         -
        let header_value = formatted_2;
  138         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  139         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  140         -
                "archive_description",
  141         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  142         -
            )
  143         -
        })?;
  144         -
        builder = builder.header("x-amz-archive-description", header_value);
         137  +
        if !formatted_2.is_empty() {
         138  +
            let header_value = formatted_2;
         139  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         140  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         141  +
                    "archive_description",
         142  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         143  +
                )
         144  +
            })?;
         145  +
            builder = builder.header("x-amz-archive-description", header_value);
         146  +
        }
  145    147   
    }
  146    148   
    if let ::std::option::Option::Some(inner_3) = &input.part_size {
  147    149   
        let formatted_4 = inner_3.as_str();
  148         -
        let header_value = formatted_4;
  149         -
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  150         -
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  151         -
                "part_size",
  152         -
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  153         -
            )
  154         -
        })?;
  155         -
        builder = builder.header("x-amz-part-size", header_value);
         150  +
        if !formatted_4.is_empty() {
         151  +
            let header_value = formatted_4;
         152  +
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
         153  +
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
         154  +
                    "part_size",
         155  +
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
         156  +
                )
         157  +
            })?;
         158  +
            builder = builder.header("x-amz-part-size", header_value);
         159  +
        }
  156    160   
    }
  157    161   
    Ok(builder)
  158    162   
}