AWS SDK

AWS SDK

rev. ec7b2441254af868911fccffe8d8dca83aff0045

Files changed:

tmp-codegen-diff/aws-sdk/sdk/lambda/src/operation/invoke/_invoke_input.rs

@@ -77,77 +276,311 @@
   97     97   
    "com.amazonaws.lambda.synthetic",
   98     98   
    "InvokeInput",
   99     99   
);
  100    100   
static INVOKEINPUT_MEMBER_FUNCTION_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  101    101   
    ::aws_smithy_schema::ShapeId::from_static(
  102    102   
        "com.amazonaws.lambda.synthetic#InvokeInput$FunctionName",
  103    103   
        "com.amazonaws.lambda.synthetic",
  104    104   
        "InvokeInput",
  105    105   
    ),
  106    106   
    ::aws_smithy_schema::ShapeType::String,
  107         -
    "function_name",
         107  +
    "FunctionName",
  108    108   
    0,
  109    109   
)
  110    110   
.with_http_label();
  111    111   
static INVOKEINPUT_MEMBER_INVOCATION_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  112    112   
    ::aws_smithy_schema::ShapeId::from_static(
  113    113   
        "com.amazonaws.lambda.synthetic#InvokeInput$InvocationType",
  114    114   
        "com.amazonaws.lambda.synthetic",
  115    115   
        "InvokeInput",
  116    116   
    ),
  117    117   
    ::aws_smithy_schema::ShapeType::String,
  118         -
    "invocation_type",
         118  +
    "InvocationType",
  119    119   
    1,
  120    120   
)
  121    121   
.with_http_header("X-Amz-Invocation-Type");
  122    122   
static INVOKEINPUT_MEMBER_LOG_TYPE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  123    123   
    ::aws_smithy_schema::ShapeId::from_static(
  124    124   
        "com.amazonaws.lambda.synthetic#InvokeInput$LogType",
  125    125   
        "com.amazonaws.lambda.synthetic",
  126    126   
        "InvokeInput",
  127    127   
    ),
  128    128   
    ::aws_smithy_schema::ShapeType::String,
  129         -
    "log_type",
         129  +
    "LogType",
  130    130   
    2,
  131    131   
)
  132    132   
.with_http_header("X-Amz-Log-Type");
  133    133   
static INVOKEINPUT_MEMBER_CLIENT_CONTEXT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  134    134   
    ::aws_smithy_schema::ShapeId::from_static(
  135    135   
        "com.amazonaws.lambda.synthetic#InvokeInput$ClientContext",
  136    136   
        "com.amazonaws.lambda.synthetic",
  137    137   
        "InvokeInput",
  138    138   
    ),
  139    139   
    ::aws_smithy_schema::ShapeType::String,
  140         -
    "client_context",
         140  +
    "ClientContext",
  141    141   
    3,
  142    142   
)
  143    143   
.with_http_header("X-Amz-Client-Context");
  144    144   
static INVOKEINPUT_MEMBER_PAYLOAD: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  145    145   
    ::aws_smithy_schema::ShapeId::from_static(
  146    146   
        "com.amazonaws.lambda.synthetic#InvokeInput$Payload",
  147    147   
        "com.amazonaws.lambda.synthetic",
  148    148   
        "InvokeInput",
  149    149   
    ),
  150    150   
    ::aws_smithy_schema::ShapeType::Blob,
  151         -
    "payload",
         151  +
    "Payload",
  152    152   
    4,
  153    153   
)
  154    154   
.with_http_payload();
  155    155   
static INVOKEINPUT_MEMBER_QUALIFIER: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  156    156   
    ::aws_smithy_schema::ShapeId::from_static(
  157    157   
        "com.amazonaws.lambda.synthetic#InvokeInput$Qualifier",
  158    158   
        "com.amazonaws.lambda.synthetic",
  159    159   
        "InvokeInput",
  160    160   
    ),
  161    161   
    ::aws_smithy_schema::ShapeType::String,
  162         -
    "qualifier",
         162  +
    "Qualifier",
  163    163   
    5,
  164    164   
)
  165    165   
.with_http_query("Qualifier");
  166    166   
static INVOKEINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  167    167   
    INVOKEINPUT_SCHEMA_ID,
  168    168   
    ::aws_smithy_schema::ShapeType::Structure,
  169    169   
    &[
  170    170   
        &INVOKEINPUT_MEMBER_FUNCTION_NAME,
  171    171   
        &INVOKEINPUT_MEMBER_INVOCATION_TYPE,
  172    172   
        &INVOKEINPUT_MEMBER_LOG_TYPE,
  173    173   
        &INVOKEINPUT_MEMBER_CLIENT_CONTEXT,
  174    174   
        &INVOKEINPUT_MEMBER_PAYLOAD,
  175    175   
        &INVOKEINPUT_MEMBER_QUALIFIER,
  176    176   
    ],
  177         -
);
         177  +
)
         178  +
.with_http(aws_smithy_schema::traits::HttpTrait::new(
         179  +
    "POST",
         180  +
    "/2015-03-31/functions/{FunctionName}/invocations",
         181  +
    None,
         182  +
));
  178    183   
impl InvokeInput {
  179    184   
    /// The schema for this shape.
  180    185   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &INVOKEINPUT_SCHEMA;
  181    186   
}
  182    187   
impl ::aws_smithy_schema::serde::SerializableStruct for InvokeInput {
  183    188   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  184    189   
    fn serialize_members(
  185    190   
        &self,
  186    191   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  187    192   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  188    193   
        if let Some(ref val) = self.function_name {
  189    194   
            ser.write_string(&INVOKEINPUT_MEMBER_FUNCTION_NAME, val)?;
  190    195   
        }
  191    196   
        if let Some(ref val) = self.invocation_type {
  192    197   
            ser.write_string(&INVOKEINPUT_MEMBER_INVOCATION_TYPE, val.as_str())?;
  193    198   
        }
  194    199   
        if let Some(ref val) = self.log_type {
  195    200   
            ser.write_string(&INVOKEINPUT_MEMBER_LOG_TYPE, val.as_str())?;
  196    201   
        }
  197    202   
        if let Some(ref val) = self.client_context {
  198    203   
            ser.write_string(&INVOKEINPUT_MEMBER_CLIENT_CONTEXT, val)?;
  199    204   
        }
  200    205   
        if let Some(ref val) = self.payload {
  201    206   
            ser.write_blob(&INVOKEINPUT_MEMBER_PAYLOAD, val)?;
  202    207   
        }
  203    208   
        if let Some(ref val) = self.qualifier {
  204    209   
            ser.write_string(&INVOKEINPUT_MEMBER_QUALIFIER, val)?;
  205    210   
        }
  206    211   
        Ok(())
  207    212   
    }
  208    213   
}
  209    214   
impl InvokeInput {
  210    215   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  211         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  212         -
        deserializer: &mut D,
         216  +
    pub fn deserialize(
         217  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  213    218   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  214    219   
        #[allow(unused_variables, unused_mut)]
  215    220   
        let mut builder = Self::builder();
  216    221   
        #[allow(
  217    222   
            unused_variables,
  218    223   
            unreachable_code,
  219    224   
            clippy::single_match,
  220    225   
            clippy::match_single_binding,
  221    226   
            clippy::diverging_sub_expression
  222    227   
        )]
  223         -
        deserializer.read_struct(&INVOKEINPUT_SCHEMA, (), |_, member, deser| {
         228  +
        deserializer.read_struct(&INVOKEINPUT_SCHEMA, &mut |member, deser| {
  224    229   
            match member.member_index() {
  225    230   
                Some(0) => {
  226    231   
                    builder.function_name = Some(deser.read_string(member)?);
  227    232   
                }
  228    233   
                Some(1) => {
  229    234   
                    builder.invocation_type = Some(crate::types::InvocationType::from(deser.read_string(member)?.as_str()));
  230    235   
                }
  231    236   
                Some(2) => {
  232    237   
                    builder.log_type = Some(crate::types::LogType::from(deser.read_string(member)?.as_str()));
  233    238   
                }
  234    239   
                Some(3) => {
  235    240   
                    builder.client_context = Some(deser.read_string(member)?);
  236    241   
                }
  237    242   
                Some(4) => {
  238    243   
                    builder.payload = Some(deser.read_blob(member)?);
  239    244   
                }
  240    245   
                Some(5) => {
  241    246   
                    builder.qualifier = Some(deser.read_string(member)?);
  242    247   
                }
  243    248   
                _ => {}
  244    249   
            }
  245    250   
            Ok(())
  246    251   
        })?;
         252  +
        builder.function_name = builder.function_name.or(Some(String::new()));
         253  +
        builder
         254  +
            .build()
         255  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
         256  +
    }
         257  +
}
         258  +
impl InvokeInput {
         259  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         260  +
    /// Header-bound members are read directly from headers, avoiding runtime
         261  +
    /// member iteration overhead. Body members are read via the deserializer.
         262  +
    pub fn deserialize_with_response(
         263  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         264  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         265  +
        _status: u16,
         266  +
        body: &[u8],
         267  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         268  +
        #[allow(unused_variables, unused_mut)]
         269  +
        let mut builder = Self::builder();
         270  +
        if let Some(val) = headers.get("X-Amz-Invocation-Type") {
         271  +
            builder.invocation_type = Some(crate::types::InvocationType::from(val));
         272  +
        }
         273  +
        if let Some(val) = headers.get("X-Amz-Log-Type") {
         274  +
            builder.log_type = Some(crate::types::LogType::from(val));
         275  +
        }
         276  +
        if let Some(val) = headers.get("X-Amz-Client-Context") {
         277  +
            builder.client_context = Some(val.to_string());
         278  +
        }
         279  +
        if !body.is_empty() {
         280  +
            builder.payload = Some(::aws_smithy_types::Blob::new(body.to_vec()));
         281  +
        }
  247    282   
        builder
  248    283   
            .build()
  249    284   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  250    285   
    }
  251    286   
}
  252    287   
impl InvokeInput {
  253    288   
    /// Creates a new builder-style object to manufacture [`InvokeInput`](crate::operation::invoke::InvokeInput).
  254    289   
    pub fn builder() -> crate::operation::invoke::builders::InvokeInputBuilder {
  255    290   
        crate::operation::invoke::builders::InvokeInputBuilder::default()
  256    291   
    }

tmp-codegen-diff/aws-sdk/sdk/lambda/src/operation/invoke/_invoke_output.rs

@@ -34,34 +219,261 @@
   54     54   
    "com.amazonaws.lambda.synthetic",
   55     55   
    "InvokeOutput",
   56     56   
);
   57     57   
static INVOKEOUTPUT_MEMBER_STATUS_CODE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   58     58   
    ::aws_smithy_schema::ShapeId::from_static(
   59     59   
        "com.amazonaws.lambda.synthetic#InvokeOutput$StatusCode",
   60     60   
        "com.amazonaws.lambda.synthetic",
   61     61   
        "InvokeOutput",
   62     62   
    ),
   63     63   
    ::aws_smithy_schema::ShapeType::Integer,
   64         -
    "status_code",
          64  +
    "StatusCode",
   65     65   
    0,
   66     66   
)
   67     67   
.with_http_response_code();
   68     68   
static INVOKEOUTPUT_MEMBER_FUNCTION_ERROR: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "com.amazonaws.lambda.synthetic#InvokeOutput$FunctionError",
   71     71   
        "com.amazonaws.lambda.synthetic",
   72     72   
        "InvokeOutput",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::String,
   75         -
    "function_error",
          75  +
    "FunctionError",
   76     76   
    1,
   77     77   
)
   78     78   
.with_http_header("X-Amz-Function-Error");
   79     79   
static INVOKEOUTPUT_MEMBER_LOG_RESULT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   80     80   
    ::aws_smithy_schema::ShapeId::from_static(
   81     81   
        "com.amazonaws.lambda.synthetic#InvokeOutput$LogResult",
   82     82   
        "com.amazonaws.lambda.synthetic",
   83     83   
        "InvokeOutput",
   84     84   
    ),
   85     85   
    ::aws_smithy_schema::ShapeType::String,
   86         -
    "log_result",
          86  +
    "LogResult",
   87     87   
    2,
   88     88   
)
   89     89   
.with_http_header("X-Amz-Log-Result");
   90     90   
static INVOKEOUTPUT_MEMBER_PAYLOAD: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   91     91   
    ::aws_smithy_schema::ShapeId::from_static(
   92     92   
        "com.amazonaws.lambda.synthetic#InvokeOutput$Payload",
   93     93   
        "com.amazonaws.lambda.synthetic",
   94     94   
        "InvokeOutput",
   95     95   
    ),
   96     96   
    ::aws_smithy_schema::ShapeType::Blob,
   97         -
    "payload",
          97  +
    "Payload",
   98     98   
    3,
   99     99   
)
  100    100   
.with_http_payload();
  101    101   
static INVOKEOUTPUT_MEMBER_EXECUTED_VERSION: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  102    102   
    ::aws_smithy_schema::ShapeId::from_static(
  103    103   
        "com.amazonaws.lambda.synthetic#InvokeOutput$ExecutedVersion",
  104    104   
        "com.amazonaws.lambda.synthetic",
  105    105   
        "InvokeOutput",
  106    106   
    ),
  107    107   
    ::aws_smithy_schema::ShapeType::String,
  108         -
    "executed_version",
         108  +
    "ExecutedVersion",
  109    109   
    4,
  110    110   
)
  111    111   
.with_http_header("X-Amz-Executed-Version");
         112  +
static INVOKEOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
         113  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
         114  +
    ::aws_smithy_schema::ShapeType::String,
         115  +
    "request_id",
         116  +
    5,
         117  +
)
         118  +
.with_http_header("x-amzn-requestid");
  112    119   
static INVOKEOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  113    120   
    INVOKEOUTPUT_SCHEMA_ID,
  114    121   
    ::aws_smithy_schema::ShapeType::Structure,
  115    122   
    &[
  116    123   
        &INVOKEOUTPUT_MEMBER_STATUS_CODE,
  117    124   
        &INVOKEOUTPUT_MEMBER_FUNCTION_ERROR,
  118    125   
        &INVOKEOUTPUT_MEMBER_LOG_RESULT,
  119    126   
        &INVOKEOUTPUT_MEMBER_PAYLOAD,
  120    127   
        &INVOKEOUTPUT_MEMBER_EXECUTED_VERSION,
         128  +
        &INVOKEOUTPUT_MEMBER__REQUEST_ID,
  121    129   
    ],
  122    130   
);
  123    131   
impl InvokeOutput {
  124    132   
    /// The schema for this shape.
  125    133   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &INVOKEOUTPUT_SCHEMA;
  126    134   
}
  127    135   
impl ::aws_smithy_schema::serde::SerializableStruct for InvokeOutput {
  128    136   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  129    137   
    fn serialize_members(
  130    138   
        &self,
  131    139   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  132    140   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  133    141   
        {
  134    142   
            let val = &self.status_code;
  135    143   
            ser.write_integer(&INVOKEOUTPUT_MEMBER_STATUS_CODE, *val)?;
  136    144   
        }
  137    145   
        if let Some(ref val) = self.function_error {
  138    146   
            ser.write_string(&INVOKEOUTPUT_MEMBER_FUNCTION_ERROR, val)?;
  139    147   
        }
  140    148   
        if let Some(ref val) = self.log_result {
  141    149   
            ser.write_string(&INVOKEOUTPUT_MEMBER_LOG_RESULT, val)?;
  142    150   
        }
  143    151   
        if let Some(ref val) = self.payload {
  144    152   
            ser.write_blob(&INVOKEOUTPUT_MEMBER_PAYLOAD, val)?;
  145    153   
        }
  146    154   
        if let Some(ref val) = self.executed_version {
  147    155   
            ser.write_string(&INVOKEOUTPUT_MEMBER_EXECUTED_VERSION, val)?;
  148    156   
        }
  149    157   
        Ok(())
  150    158   
    }
  151    159   
}
  152    160   
impl InvokeOutput {
  153    161   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  154         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  155         -
        deserializer: &mut D,
         162  +
    pub fn deserialize(
         163  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  156    164   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  157    165   
        #[allow(unused_variables, unused_mut)]
  158    166   
        let mut builder = Self::builder();
  159    167   
        #[allow(
  160    168   
            unused_variables,
  161    169   
            unreachable_code,
  162    170   
            clippy::single_match,
  163    171   
            clippy::match_single_binding,
  164    172   
            clippy::diverging_sub_expression
  165    173   
        )]
  166         -
        deserializer.read_struct(&INVOKEOUTPUT_SCHEMA, (), |_, member, deser| {
         174  +
        deserializer.read_struct(&INVOKEOUTPUT_SCHEMA, &mut |member, deser| {
  167    175   
            match member.member_index() {
  168    176   
                Some(0) => {
  169    177   
                    builder.status_code = Some(deser.read_integer(member)?);
  170    178   
                }
  171    179   
                Some(1) => {
  172    180   
                    builder.function_error = Some(deser.read_string(member)?);
  173    181   
                }
  174    182   
                Some(2) => {
  175    183   
                    builder.log_result = Some(deser.read_string(member)?);
  176    184   
                }
  177    185   
                Some(3) => {
  178    186   
                    builder.payload = Some(deser.read_blob(member)?);
  179    187   
                }
  180    188   
                Some(4) => {
  181    189   
                    builder.executed_version = Some(deser.read_string(member)?);
  182    190   
                }
         191  +
                Some(5) => {
         192  +
                    builder._request_id = Some(deser.read_string(member)?);
         193  +
                }
  183    194   
                _ => {}
  184    195   
            }
  185    196   
            Ok(())
  186    197   
        })?;
  187    198   
        Ok(builder.build())
  188    199   
    }
  189    200   
}
         201  +
impl InvokeOutput {
         202  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         203  +
    /// Header-bound members are read directly from headers, avoiding runtime
         204  +
    /// member iteration overhead. Body members are read via the deserializer.
         205  +
    pub fn deserialize_with_response(
         206  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         207  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         208  +
        _status: u16,
         209  +
        body: &[u8],
         210  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         211  +
        #[allow(unused_variables, unused_mut)]
         212  +
        let mut builder = Self::builder();
         213  +
        if let Some(val) = headers.get("X-Amz-Function-Error") {
         214  +
            builder.function_error = Some(val.to_string());
         215  +
        }
         216  +
        if let Some(val) = headers.get("X-Amz-Log-Result") {
         217  +
            builder.log_result = Some(val.to_string());
         218  +
        }
         219  +
        if let Some(val) = headers.get("X-Amz-Executed-Version") {
         220  +
            builder.executed_version = Some(val.to_string());
         221  +
        }
         222  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         223  +
            builder._request_id = Some(val.to_string());
         224  +
        }
         225  +
        builder.status_code = Some(_status as i32);
         226  +
        if !body.is_empty() {
         227  +
            builder.payload = Some(::aws_smithy_types::Blob::new(body.to_vec()));
         228  +
        }
         229  +
        Ok(builder.build())
         230  +
    }
         231  +
}
  190    232   
impl ::aws_types::request_id::RequestId for InvokeOutput {
  191    233   
    fn request_id(&self) -> Option<&str> {
  192    234   
        self._request_id.as_deref()
  193    235   
    }
  194    236   
}
  195    237   
impl InvokeOutput {
  196    238   
    /// Creates a new builder-style object to manufacture [`InvokeOutput`](crate::operation::invoke::InvokeOutput).
  197    239   
    pub fn builder() -> crate::operation::invoke::builders::InvokeOutputBuilder {
  198    240   
        crate::operation::invoke::builders::InvokeOutputBuilder::default()
  199    241   
    }

tmp-codegen-diff/aws-sdk/sdk/lambda/src/operation/invoke_async.rs

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `InvokeAsync`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct InvokeAsync;
    6      6   
impl InvokeAsync {
    7      7   
    /// Creates a new `InvokeAsync`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::invoke_async::InvokeAsyncInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::invoke_async::InvokeAsyncOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::invoke_async::InvokeAsyncInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::invoke_async::InvokeAsyncOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::invoke_async::InvokeAsyncError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -114,118 +248,380 @@
  134    138   
                crate::operation::invoke_async::InvokeAsyncError,
  135    139   
            >::new());
  136    140   
  137    141   
        ::std::borrow::Cow::Owned(rcb)
  138    142   
    }
  139    143   
}
  140    144   
  141    145   
#[derive(Debug)]
  142    146   
struct InvokeAsyncResponseDeserializer;
  143    147   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for InvokeAsyncResponseDeserializer {
  144         -
    fn deserialize_nonstreaming(
         148  +
    fn deserialize_nonstreaming_with_config(
  145    149   
        &self,
  146    150   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         151  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  147    152   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  148    153   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  149         -
        let headers = response.headers();
  150         -
        let body = response.body().bytes().expect("body loaded");
  151    154   
        #[allow(unused_mut)]
  152    155   
        let mut force_error = false;
  153    156   
        ::tracing::debug!(request_id = ?::aws_types::request_id::RequestId::request_id(response));
  154         -
        let parse_result = if !success && status != 202 || force_error {
  155         -
            crate::protocol_serde::shape_invoke_async::de_invoke_async_http_error(status, headers, body)
         157  +
        if !success && status != 202 || force_error {
         158  +
            let headers = response.headers();
         159  +
            let body = response.body().bytes().expect("body loaded");
         160  +
            #[allow(unused_mut)]
         161  +
            let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(status, headers, body).map_err(|e| {
         162  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         163  +
            })?;
         164  +
            generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, headers);
         165  +
            let generic = generic_builder.build();
         166  +
            let error_code = match generic.code() {
         167  +
                ::std::option::Option::Some(code) => code,
         168  +
                ::std::option::Option::None => {
         169  +
                    return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         170  +
                        ::aws_smithy_runtime_api::box_error::BoxError::from(crate::operation::invoke_async::InvokeAsyncError::unhandled(generic)),
         171  +
                    ))
         172  +
                }
         173  +
            };
         174  +
            let _error_message = generic.message().map(|msg| msg.to_owned());
         175  +
            let protocol = _cfg
         176  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         177  +
                .expect("a SharedClientProtocol is required");
         178  +
            let err = match error_code {
         179  +
                "InvalidRequestContentException" => crate::operation::invoke_async::InvokeAsyncError::InvalidRequestContentException({
         180  +
                    let mut tmp = match protocol
         181  +
                        .deserialize_response(response, crate::types::error::InvalidRequestContentException::SCHEMA, _cfg)
         182  +
                        .and_then(|mut deser| {
         183  +
                            crate::types::error::InvalidRequestContentException::deserialize_with_response(
         184  +
                                &mut *deser,
         185  +
                                response.headers(),
         186  +
                                response.status().into(),
         187  +
                                body,
         188  +
                            )
         189  +
                        }) {
         190  +
                        ::std::result::Result::Ok(val) => val,
         191  +
                        ::std::result::Result::Err(e) => {
         192  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         193  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         194  +
                            ))
         195  +
                        }
         196  +
                    };
         197  +
                    tmp.meta = generic;
         198  +
                    if tmp.message.is_none() {
         199  +
                        tmp.message = _error_message;
         200  +
                    }
         201  +
                    tmp
         202  +
                }),
         203  +
                "InvalidRuntimeException" => crate::operation::invoke_async::InvokeAsyncError::InvalidRuntimeException({
         204  +
                    let mut tmp = match protocol
         205  +
                        .deserialize_response(response, crate::types::error::InvalidRuntimeException::SCHEMA, _cfg)
         206  +
                        .and_then(|mut deser| {
         207  +
                            crate::types::error::InvalidRuntimeException::deserialize_with_response(
         208  +
                                &mut *deser,
         209  +
                                response.headers(),
         210  +
                                response.status().into(),
         211  +
                                body,
         212  +
                            )
         213  +
                        }) {
         214  +
                        ::std::result::Result::Ok(val) => val,
         215  +
                        ::std::result::Result::Err(e) => {
         216  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         217  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         218  +
                            ))
         219  +
                        }
         220  +
                    };
         221  +
                    tmp.meta = generic;
         222  +
                    if tmp.message.is_none() {
         223  +
                        tmp.message = _error_message;
         224  +
                    }
         225  +
                    tmp
         226  +
                }),
         227  +
                "ResourceConflictException" => crate::operation::invoke_async::InvokeAsyncError::ResourceConflictException({
         228  +
                    let mut tmp = match protocol
         229  +
                        .deserialize_response(response, crate::types::error::ResourceConflictException::SCHEMA, _cfg)
         230  +
                        .and_then(|mut deser| {
         231  +
                            crate::types::error::ResourceConflictException::deserialize_with_response(
         232  +
                                &mut *deser,
         233  +
                                response.headers(),
         234  +
                                response.status().into(),
         235  +
                                body,
         236  +
                            )
         237  +
                        }) {
         238  +
                        ::std::result::Result::Ok(val) => val,
         239  +
                        ::std::result::Result::Err(e) => {
         240  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         241  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         242  +
                            ))
         243  +
                        }
         244  +
                    };
         245  +
                    tmp.meta = generic;
         246  +
                    if tmp.message.is_none() {
         247  +
                        tmp.message = _error_message;
         248  +
                    }
         249  +
                    tmp
         250  +
                }),
         251  +
                "ResourceNotFoundException" => crate::operation::invoke_async::InvokeAsyncError::ResourceNotFoundException({
         252  +
                    let mut tmp = match protocol
         253  +
                        .deserialize_response(response, crate::types::error::ResourceNotFoundException::SCHEMA, _cfg)
         254  +
                        .and_then(|mut deser| {
         255  +
                            crate::types::error::ResourceNotFoundException::deserialize_with_response(
         256  +
                                &mut *deser,
         257  +
                                response.headers(),
         258  +
                                response.status().into(),
         259  +
                                body,
         260  +
                            )
         261  +
                        }) {
         262  +
                        ::std::result::Result::Ok(val) => val,
         263  +
                        ::std::result::Result::Err(e) => {
         264  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         265  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         266  +
                            ))
         267  +
                        }
         268  +
                    };
         269  +
                    tmp.meta = generic;
         270  +
                    if tmp.message.is_none() {
         271  +
                        tmp.message = _error_message;
         272  +
                    }
         273  +
                    tmp
         274  +
                }),
         275  +
                "ServiceException" => crate::operation::invoke_async::InvokeAsyncError::ServiceException({
         276  +
                    let mut tmp = match protocol
         277  +
                        .deserialize_response(response, crate::types::error::ServiceException::SCHEMA, _cfg)
         278  +
                        .and_then(|mut deser| {
         279  +
                            crate::types::error::ServiceException::deserialize_with_response(
         280  +
                                &mut *deser,
         281  +
                                response.headers(),
         282  +
                                response.status().into(),
         283  +
                                body,
         284  +
                            )
         285  +
                        }) {
         286  +
                        ::std::result::Result::Ok(val) => val,
         287  +
                        ::std::result::Result::Err(e) => {
         288  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         289  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         290  +
                            ))
         291  +
                        }
         292  +
                    };
         293  +
                    tmp.meta = generic;
         294  +
                    if tmp.message.is_none() {
         295  +
                        tmp.message = _error_message;
         296  +
                    }
         297  +
                    tmp
         298  +
                }),
         299  +
                _ => crate::operation::invoke_async::InvokeAsyncError::generic(generic),
         300  +
            };
         301  +
            ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::operation(
         302  +
                ::aws_smithy_runtime_api::client::interceptors::context::Error::erase(err),
         303  +
            ))
  156    304   
        } else {
  157         -
            crate::protocol_serde::shape_invoke_async::de_invoke_async_http_response(status, headers, body)
  158         -
        };
  159         -
        crate::protocol_serde::type_erase_result(parse_result)
         305  +
            let protocol = _cfg
         306  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         307  +
                .expect("a SharedClientProtocol is required");
         308  +
            let mut deser = protocol.deserialize_response(response, InvokeAsync::OUTPUT_SCHEMA, _cfg).map_err(|e| {
         309  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         310  +
            })?;
         311  +
            let body = response.body().bytes().expect("body loaded");
         312  +
            let output = crate::operation::invoke_async::InvokeAsyncOutput::deserialize_with_response(
         313  +
                &mut *deser,
         314  +
                response.headers(),
         315  +
                response.status().into(),
         316  +
                body,
         317  +
            )
         318  +
            .map_err(|e| {
         319  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         320  +
            })?;
         321  +
            ::std::result::Result::Ok(::aws_smithy_runtime_api::client::interceptors::context::Output::erase(output))
         322  +
        }
  160    323   
    }
  161    324   
}
  162    325   
#[derive(Debug)]
  163    326   
struct InvokeAsyncRequestSerializer;
  164    327   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for InvokeAsyncRequestSerializer {
  165    328   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  166    329   
    fn serialize_input(
  167    330   
        &self,
  168    331   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  169    332   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  170    333   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  171    334   
        let input = input
  172    335   
            .downcast::<crate::operation::invoke_async::InvokeAsyncInput>()
  173    336   
            .expect("correct type");
  174         -
        let _header_serialization_settings = _cfg
  175         -
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  176         -
            .cloned()
  177         -
            .unwrap_or_default();
  178         -
        let mut request_builder = {
  179         -
            #[allow(clippy::uninlined_format_args)]
  180         -
            fn uri_base(
  181         -
                _input: &crate::operation::invoke_async::InvokeAsyncInput,
  182         -
                output: &mut ::std::string::String,
  183         -
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  184         -
                use ::std::fmt::Write as _;
  185         -
                let input_1 = &_input.function_name;
  186         -
                let input_1 = input_1
  187         -
                    .as_ref()
  188         -
                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("function_name", "cannot be empty or unset"))?;
  189         -
                let function_name = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
  190         -
                if function_name.is_empty() {
  191         -
                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
  192         -
                        "function_name",
  193         -
                        "cannot be empty or unset",
  194         -
                    ));
  195         -
                }
  196         -
                ::std::write!(output, "/2014-11-13/functions/{FunctionName}/invoke-async", FunctionName = function_name)
  197         -
                    .expect("formatting should succeed");
  198         -
                ::std::result::Result::Ok(())
  199         -
            }
  200         -
            #[allow(clippy::unnecessary_wraps)]
  201         -
            fn update_http_builder(
  202         -
                input: &crate::operation::invoke_async::InvokeAsyncInput,
  203         -
                builder: ::http_1x::request::Builder,
  204         -
            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  205         -
                let mut uri = ::std::string::String::new();
  206         -
                uri_base(input, &mut uri)?;
  207         -
                ::std::result::Result::Ok(builder.method("POST").uri(uri))
  208         -
            }
  209         -
            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
  210         -
            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/octet-stream");
  211         -
            builder
  212         -
        };
  213         -
        let body = crate::protocol_serde::shape_invoke_async_input::ser_invoke_args_http_payload(input.invoke_args)?.into_inner();
  214         -
        if let Some(content_length) = body.content_length() {
  215         -
            let content_length = content_length.to_string();
  216         -
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
         337  +
        let protocol = _cfg
         338  +
            .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         339  +
            .expect("a SharedClientProtocol is required");
         340  +
        let mut request = protocol
         341  +
            .serialize_request(&input, InvokeAsync::INPUT_SCHEMA, "", _cfg)
         342  +
            .map_err(::aws_smithy_runtime_api::box_error::BoxError::from)?;
         343  +
        // Streaming blob payload: replace the body with the raw ByteStream.
         344  +
        *request.body_mut() = input.invoke_args.into_inner();
         345  +
        request.headers_mut().insert("Content-Type", "application/octet-stream");
         346  +
        if let ::std::option::Option::Some(content_length) = request.body().content_length() {
         347  +
            request.headers_mut().insert("Content-Length", content_length.to_string());
  217    348   
        }
  218         -
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
         349  +
         350  +
        return ::std::result::Result::Ok(request);
  219    351   
    }
  220    352   
}
  221    353   
#[derive(Debug)]
  222    354   
struct InvokeAsyncEndpointParamsInterceptor;
  223    355   
  224    356   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for InvokeAsyncEndpointParamsInterceptor {
  225    357   
    fn name(&self) -> &'static str {
  226    358   
        "InvokeAsyncEndpointParamsInterceptor"
  227    359   
    }
  228    360   

tmp-codegen-diff/aws-sdk/sdk/lambda/src/operation/invoke_async/_invoke_async_input.rs

@@ -24,24 +157,170 @@
   44     44   
    "com.amazonaws.lambda.synthetic",
   45     45   
    "InvokeAsyncInput",
   46     46   
);
   47     47   
static INVOKEASYNCINPUT_MEMBER_FUNCTION_NAME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   48     48   
    ::aws_smithy_schema::ShapeId::from_static(
   49     49   
        "com.amazonaws.lambda.synthetic#InvokeAsyncInput$FunctionName",
   50     50   
        "com.amazonaws.lambda.synthetic",
   51     51   
        "InvokeAsyncInput",
   52     52   
    ),
   53     53   
    ::aws_smithy_schema::ShapeType::String,
   54         -
    "function_name",
          54  +
    "FunctionName",
   55     55   
    0,
   56     56   
)
   57     57   
.with_http_label();
   58     58   
static INVOKEASYNCINPUT_MEMBER_INVOKE_ARGS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   59     59   
    ::aws_smithy_schema::ShapeId::from_static(
   60     60   
        "com.amazonaws.lambda.synthetic#InvokeAsyncInput$InvokeArgs",
   61     61   
        "com.amazonaws.lambda.synthetic",
   62     62   
        "InvokeAsyncInput",
   63     63   
    ),
   64     64   
    ::aws_smithy_schema::ShapeType::Blob,
   65         -
    "invoke_args",
          65  +
    "InvokeArgs",
   66     66   
    1,
   67     67   
)
   68     68   
.with_http_payload();
   69     69   
static INVOKEASYNCINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   70     70   
    INVOKEASYNCINPUT_SCHEMA_ID,
   71     71   
    ::aws_smithy_schema::ShapeType::Structure,
   72     72   
    &[&INVOKEASYNCINPUT_MEMBER_FUNCTION_NAME, &INVOKEASYNCINPUT_MEMBER_INVOKE_ARGS],
   73         -
);
          73  +
)
          74  +
.with_http(aws_smithy_schema::traits::HttpTrait::new(
          75  +
    "POST",
          76  +
    "/2014-11-13/functions/{FunctionName}/invoke-async",
          77  +
    Some(202),
          78  +
));
   74     79   
impl InvokeAsyncInput {
   75     80   
    /// The schema for this shape.
   76     81   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &INVOKEASYNCINPUT_SCHEMA;
   77     82   
}
   78     83   
impl ::aws_smithy_schema::serde::SerializableStruct for InvokeAsyncInput {
   79     84   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   80     85   
    fn serialize_members(
   81     86   
        &self,
   82     87   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   83     88   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   84     89   
        if let Some(ref val) = self.function_name {
   85     90   
            ser.write_string(&INVOKEASYNCINPUT_MEMBER_FUNCTION_NAME, val)?;
   86     91   
        }
   87         -
        {
   88         -
            let val = &self.invoke_args;
   89         -
            // streaming blob is serialized as the HTTP body by the protocol, not the codec
   90         -
        }
   91     92   
        Ok(())
   92     93   
    }
   93     94   
}
   94     95   
impl InvokeAsyncInput {
   95     96   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   96         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   97         -
        deserializer: &mut D,
          97  +
    pub fn deserialize(
          98  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   98     99   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   99    100   
        #[allow(unused_variables, unused_mut)]
  100    101   
        let mut builder = Self::builder();
  101    102   
        #[allow(
  102    103   
            unused_variables,
  103    104   
            unreachable_code,
  104    105   
            clippy::single_match,
  105    106   
            clippy::match_single_binding,
  106    107   
            clippy::diverging_sub_expression
  107    108   
        )]
  108         -
        deserializer.read_struct(&INVOKEASYNCINPUT_SCHEMA, (), |_, member, deser| {
         109  +
        deserializer.read_struct(&INVOKEASYNCINPUT_SCHEMA, &mut |member, deser| {
  109    110   
            match member.member_index() {
  110    111   
                Some(0) => {
  111    112   
                    builder.function_name = Some(deser.read_string(member)?);
  112    113   
                }
  113    114   
                Some(1) => {
  114    115   
                    builder.invoke_args = Some({
  115    116   
                        let _ = member;
  116    117   
                        ::aws_smithy_types::byte_stream::ByteStream::new(::aws_smithy_types::body::SdkBody::empty())
  117    118   
                    });
  118    119   
                }
  119    120   
                _ => {}
  120    121   
            }
  121    122   
            Ok(())
  122    123   
        })?;
         124  +
        builder.function_name = builder.function_name.or(Some(String::new()));
  123    125   
        builder
  124    126   
            .build()
  125    127   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
  126    128   
    }
  127    129   
}
         130  +
impl InvokeAsyncInput {
         131  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         132  +
    pub fn deserialize_with_response(
         133  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         134  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         135  +
        _status: u16,
         136  +
        _body: &[u8],
         137  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         138  +
        Self::deserialize(deserializer)
         139  +
    }
         140  +
}
  128    141   
impl InvokeAsyncInput {
  129    142   
    /// Creates a new builder-style object to manufacture [`InvokeAsyncInput`](crate::operation::invoke_async::InvokeAsyncInput).
  130    143   
    pub fn builder() -> crate::operation::invoke_async::builders::InvokeAsyncInputBuilder {
  131    144   
        crate::operation::invoke_async::builders::InvokeAsyncInputBuilder::default()
  132    145   
    }
  133    146   
}
  134    147   
  135    148   
/// A builder for [`InvokeAsyncInput`](crate::operation::invoke_async::InvokeAsyncInput).
  136    149   
#[derive(::std::default::Default, ::std::fmt::Debug)]
  137    150   
#[non_exhaustive]

tmp-codegen-diff/aws-sdk/sdk/lambda/src/operation/invoke_async/_invoke_async_output.rs

@@ -1,1 +111,140 @@
   20     20   
    "com.amazonaws.lambda.synthetic",
   21     21   
    "InvokeAsyncOutput",
   22     22   
);
   23     23   
static INVOKEASYNCOUTPUT_MEMBER_STATUS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   24     24   
    ::aws_smithy_schema::ShapeId::from_static(
   25     25   
        "com.amazonaws.lambda.synthetic#InvokeAsyncOutput$Status",
   26     26   
        "com.amazonaws.lambda.synthetic",
   27     27   
        "InvokeAsyncOutput",
   28     28   
    ),
   29     29   
    ::aws_smithy_schema::ShapeType::Integer,
   30         -
    "status",
          30  +
    "Status",
   31     31   
    0,
   32     32   
)
   33     33   
.with_http_response_code();
          34  +
static INVOKEASYNCOUTPUT_MEMBER__REQUEST_ID: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
          35  +
    ::aws_smithy_schema::ShapeId::from_static("synthetic#request_id", "synthetic", "request_id"),
          36  +
    ::aws_smithy_schema::ShapeType::String,
          37  +
    "request_id",
          38  +
    1,
          39  +
)
          40  +
.with_http_header("x-amzn-requestid");
   34     41   
static INVOKEASYNCOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
   35     42   
    INVOKEASYNCOUTPUT_SCHEMA_ID,
   36     43   
    ::aws_smithy_schema::ShapeType::Structure,
   37         -
    &[&INVOKEASYNCOUTPUT_MEMBER_STATUS],
          44  +
    &[&INVOKEASYNCOUTPUT_MEMBER_STATUS, &INVOKEASYNCOUTPUT_MEMBER__REQUEST_ID],
   38     45   
);
   39     46   
impl InvokeAsyncOutput {
   40     47   
    /// The schema for this shape.
   41     48   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &INVOKEASYNCOUTPUT_SCHEMA;
   42     49   
}
   43     50   
impl ::aws_smithy_schema::serde::SerializableStruct for InvokeAsyncOutput {
   44     51   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   45     52   
    fn serialize_members(
   46     53   
        &self,
   47     54   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   48     55   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   49     56   
        {
   50     57   
            let val = &self.status;
   51     58   
            ser.write_integer(&INVOKEASYNCOUTPUT_MEMBER_STATUS, *val)?;
   52     59   
        }
   53     60   
        Ok(())
   54     61   
    }
   55     62   
}
   56     63   
impl InvokeAsyncOutput {
   57     64   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   58         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   59         -
        deserializer: &mut D,
          65  +
    pub fn deserialize(
          66  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   60     67   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   61     68   
        #[allow(unused_variables, unused_mut)]
   62     69   
        let mut builder = Self::builder();
   63     70   
        #[allow(
   64     71   
            unused_variables,
   65     72   
            unreachable_code,
   66     73   
            clippy::single_match,
   67     74   
            clippy::match_single_binding,
   68     75   
            clippy::diverging_sub_expression
   69     76   
        )]
   70         -
        deserializer.read_struct(&INVOKEASYNCOUTPUT_SCHEMA, (), |_, member, deser| {
          77  +
        deserializer.read_struct(&INVOKEASYNCOUTPUT_SCHEMA, &mut |member, deser| {
   71     78   
            match member.member_index() {
   72     79   
                Some(0) => {
   73     80   
                    builder.status = Some(deser.read_integer(member)?);
   74     81   
                }
          82  +
                Some(1) => {
          83  +
                    builder._request_id = Some(deser.read_string(member)?);
          84  +
                }
   75     85   
                _ => {}
   76     86   
            }
   77     87   
            Ok(())
   78     88   
        })?;
   79     89   
        Ok(builder.build())
   80     90   
    }
   81     91   
}
          92  +
impl InvokeAsyncOutput {
          93  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
          94  +
    /// Header-bound members are read directly from headers, avoiding runtime
          95  +
    /// member iteration overhead. Body members are read via the deserializer.
          96  +
    pub fn deserialize_with_response(
          97  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          98  +
        headers: &::aws_smithy_runtime_api::http::Headers,
          99  +
        _status: u16,
         100  +
        _body: &[u8],
         101  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         102  +
        #[allow(unused_variables, unused_mut)]
         103  +
        let mut builder = Self::builder();
         104  +
        if let Some(val) = headers.get("x-amzn-requestid") {
         105  +
            builder._request_id = Some(val.to_string());
         106  +
        }
         107  +
        builder.status = Some(_status as i32);
         108  +
        Ok(builder.build())
         109  +
    }
         110  +
}
   82    111   
impl ::aws_types::request_id::RequestId for InvokeAsyncOutput {
   83    112   
    fn request_id(&self) -> Option<&str> {
   84    113   
        self._request_id.as_deref()
   85    114   
    }
   86    115   
}
   87    116   
impl InvokeAsyncOutput {
   88    117   
    /// Creates a new builder-style object to manufacture [`InvokeAsyncOutput`](crate::operation::invoke_async::InvokeAsyncOutput).
   89    118   
    pub fn builder() -> crate::operation::invoke_async::builders::InvokeAsyncOutputBuilder {
   90    119   
        crate::operation::invoke_async::builders::InvokeAsyncOutputBuilder::default()
   91    120   
    }

tmp-codegen-diff/aws-sdk/sdk/lambda/src/operation/invoke_with_response_stream.rs

@@ -1,1 +40,46 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `InvokeWithResponseStream`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct InvokeWithResponseStream;
    6      6   
impl InvokeWithResponseStream {
    7      7   
    /// Creates a new `InvokeWithResponseStream`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          13  +
        crate::operation::invoke_with_response_stream::InvokeWithResponseStreamInput::SCHEMA;
          14  +
    /// The schema for this operation's output shape.
          15  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema =
          16  +
        crate::operation::invoke_with_response_stream::InvokeWithResponseStreamOutput::SCHEMA;
   11     17   
    pub(crate) async fn orchestrate(
   12     18   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     19   
        input: crate::operation::invoke_with_response_stream::InvokeWithResponseStreamInput,
   14     20   
    ) -> ::std::result::Result<
   15     21   
        crate::operation::invoke_with_response_stream::InvokeWithResponseStreamOutput,
   16     22   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     23   
            crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError,
   18     24   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     25   
        >,
   20     26   
    > {
@@ -135,141 +286,1044 @@
  155    161   
  156    162   
        // If this is an error, defer to the non-streaming parser
  157    163   
        if (!response.status().is_success() && response.status().as_u16() != 200) || force_error {
  158    164   
            return ::std::option::Option::None;
  159    165   
        }
  160    166   
        ::std::option::Option::Some(crate::protocol_serde::type_erase_result(
  161    167   
            crate::protocol_serde::shape_invoke_with_response_stream::de_invoke_with_response_stream_http_response(response),
  162    168   
        ))
  163    169   
    }
  164    170   
  165         -
    fn deserialize_nonstreaming(
         171  +
    fn deserialize_nonstreaming_with_config(
  166    172   
        &self,
  167    173   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         174  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  168    175   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  169    176   
        // For streaming operations, we only hit this case if its an error
  170    177   
        let body = response.body().bytes().expect("body loaded");
  171         -
        crate::protocol_serde::type_erase_result(
  172         -
            crate::protocol_serde::shape_invoke_with_response_stream::de_invoke_with_response_stream_http_error(
  173         -
                response.status().as_u16(),
  174         -
                response.headers(),
  175         -
                body,
  176         -
            ),
  177         -
        )
         178  +
        let status = response.status().as_u16();
         179  +
        let headers = response.headers();
         180  +
        #[allow(unused_mut)]
         181  +
        let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(status, headers, body).map_err(|e| {
         182  +
            ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         183  +
        })?;
         184  +
        generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, headers);
         185  +
        let generic = generic_builder.build();
         186  +
        let error_code = match generic.code() {
         187  +
            ::std::option::Option::Some(code) => code,
         188  +
            ::std::option::Option::None => {
         189  +
                return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         190  +
                    ::aws_smithy_runtime_api::box_error::BoxError::from(
         191  +
                        crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::unhandled(generic),
         192  +
                    ),
         193  +
                ))
         194  +
            }
         195  +
        };
         196  +
        let _error_message = generic.message().map(|msg| msg.to_owned());
         197  +
        let protocol = _cfg
         198  +
            .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         199  +
            .expect("a SharedClientProtocol is required");
         200  +
        let err = match error_code {
         201  +
            "EC2AccessDeniedException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::Ec2AccessDeniedException({
         202  +
                let mut tmp = match protocol
         203  +
                    .deserialize_response(response, crate::types::error::Ec2AccessDeniedException::SCHEMA, _cfg)
         204  +
                    .and_then(|mut deser| {
         205  +
                        crate::types::error::Ec2AccessDeniedException::deserialize_with_response(
         206  +
                            &mut *deser,
         207  +
                            response.headers(),
         208  +
                            response.status().into(),
         209  +
                            body,
         210  +
                        )
         211  +
                    }) {
         212  +
                    ::std::result::Result::Ok(val) => val,
         213  +
                    ::std::result::Result::Err(e) => {
         214  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         215  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         216  +
                        ))
         217  +
                    }
         218  +
                };
         219  +
                tmp.meta = generic;
         220  +
                if tmp.message.is_none() {
         221  +
                    tmp.message = _error_message;
         222  +
                }
         223  +
                tmp
         224  +
            }),
         225  +
            "EC2ThrottledException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::Ec2ThrottledException({
         226  +
                let mut tmp = match protocol
         227  +
                    .deserialize_response(response, crate::types::error::Ec2ThrottledException::SCHEMA, _cfg)
         228  +
                    .and_then(|mut deser| {
         229  +
                        crate::types::error::Ec2ThrottledException::deserialize_with_response(
         230  +
                            &mut *deser,
         231  +
                            response.headers(),
         232  +
                            response.status().into(),
         233  +
                            body,
         234  +
                        )
         235  +
                    }) {
         236  +
                    ::std::result::Result::Ok(val) => val,
         237  +
                    ::std::result::Result::Err(e) => {
         238  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         239  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         240  +
                        ))
         241  +
                    }
         242  +
                };
         243  +
                tmp.meta = generic;
         244  +
                if tmp.message.is_none() {
         245  +
                    tmp.message = _error_message;
         246  +
                }
         247  +
                tmp
         248  +
            }),
         249  +
            "EC2UnexpectedException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::Ec2UnexpectedException({
         250  +
                let mut tmp = match protocol
         251  +
                    .deserialize_response(response, crate::types::error::Ec2UnexpectedException::SCHEMA, _cfg)
         252  +
                    .and_then(|mut deser| {
         253  +
                        crate::types::error::Ec2UnexpectedException::deserialize_with_response(
         254  +
                            &mut *deser,
         255  +
                            response.headers(),
         256  +
                            response.status().into(),
         257  +
                            body,
         258  +
                        )
         259  +
                    }) {
         260  +
                    ::std::result::Result::Ok(val) => val,
         261  +
                    ::std::result::Result::Err(e) => {
         262  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         263  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         264  +
                        ))
         265  +
                    }
         266  +
                };
         267  +
                tmp.meta = generic;
         268  +
                if tmp.message.is_none() {
         269  +
                    tmp.message = _error_message;
         270  +
                }
         271  +
                tmp
         272  +
            }),
         273  +
            "EFSIOException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::EfsioException({
         274  +
                let mut tmp = match protocol
         275  +
                    .deserialize_response(response, crate::types::error::EfsioException::SCHEMA, _cfg)
         276  +
                    .and_then(|mut deser| {
         277  +
                        crate::types::error::EfsioException::deserialize_with_response(
         278  +
                            &mut *deser,
         279  +
                            response.headers(),
         280  +
                            response.status().into(),
         281  +
                            body,
         282  +
                        )
         283  +
                    }) {
         284  +
                    ::std::result::Result::Ok(val) => val,
         285  +
                    ::std::result::Result::Err(e) => {
         286  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         287  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         288  +
                        ))
         289  +
                    }
         290  +
                };
         291  +
                tmp.meta = generic;
         292  +
                if tmp.message.is_none() {
         293  +
                    tmp.message = _error_message;
         294  +
                }
         295  +
                tmp
         296  +
            }),
         297  +
            "EFSMountConnectivityException" => {
         298  +
                crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::EfsMountConnectivityException({
         299  +
                    let mut tmp = match protocol
         300  +
                        .deserialize_response(response, crate::types::error::EfsMountConnectivityException::SCHEMA, _cfg)
         301  +
                        .and_then(|mut deser| {
         302  +
                            crate::types::error::EfsMountConnectivityException::deserialize_with_response(
         303  +
                                &mut *deser,
         304  +
                                response.headers(),
         305  +
                                response.status().into(),
         306  +
                                body,
         307  +
                            )
         308  +
                        }) {
         309  +
                        ::std::result::Result::Ok(val) => val,
         310  +
                        ::std::result::Result::Err(e) => {
         311  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         312  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         313  +
                            ))
         314  +
                        }
         315  +
                    };
         316  +
                    tmp.meta = generic;
         317  +
                    if tmp.message.is_none() {
         318  +
                        tmp.message = _error_message;
         319  +
                    }
         320  +
                    tmp
         321  +
                })
         322  +
            }
         323  +
            "EFSMountFailureException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::EfsMountFailureException({
         324  +
                let mut tmp = match protocol
         325  +
                    .deserialize_response(response, crate::types::error::EfsMountFailureException::SCHEMA, _cfg)
         326  +
                    .and_then(|mut deser| {
         327  +
                        crate::types::error::EfsMountFailureException::deserialize_with_response(
         328  +
                            &mut *deser,
         329  +
                            response.headers(),
         330  +
                            response.status().into(),
         331  +
                            body,
         332  +
                        )
         333  +
                    }) {
         334  +
                    ::std::result::Result::Ok(val) => val,
         335  +
                    ::std::result::Result::Err(e) => {
         336  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         337  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         338  +
                        ))
         339  +
                    }
         340  +
                };
         341  +
                tmp.meta = generic;
         342  +
                if tmp.message.is_none() {
         343  +
                    tmp.message = _error_message;
         344  +
                }
         345  +
                tmp
         346  +
            }),
         347  +
            "EFSMountTimeoutException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::EfsMountTimeoutException({
         348  +
                let mut tmp = match protocol
         349  +
                    .deserialize_response(response, crate::types::error::EfsMountTimeoutException::SCHEMA, _cfg)
         350  +
                    .and_then(|mut deser| {
         351  +
                        crate::types::error::EfsMountTimeoutException::deserialize_with_response(
         352  +
                            &mut *deser,
         353  +
                            response.headers(),
         354  +
                            response.status().into(),
         355  +
                            body,
         356  +
                        )
         357  +
                    }) {
         358  +
                    ::std::result::Result::Ok(val) => val,
         359  +
                    ::std::result::Result::Err(e) => {
         360  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         361  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         362  +
                        ))
         363  +
                    }
         364  +
                };
         365  +
                tmp.meta = generic;
         366  +
                if tmp.message.is_none() {
         367  +
                    tmp.message = _error_message;
         368  +
                }
         369  +
                tmp
         370  +
            }),
         371  +
            "ENILimitReachedException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::EniLimitReachedException({
         372  +
                let mut tmp = match protocol
         373  +
                    .deserialize_response(response, crate::types::error::EniLimitReachedException::SCHEMA, _cfg)
         374  +
                    .and_then(|mut deser| {
         375  +
                        crate::types::error::EniLimitReachedException::deserialize_with_response(
         376  +
                            &mut *deser,
         377  +
                            response.headers(),
         378  +
                            response.status().into(),
         379  +
                            body,
         380  +
                        )
         381  +
                    }) {
         382  +
                    ::std::result::Result::Ok(val) => val,
         383  +
                    ::std::result::Result::Err(e) => {
         384  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         385  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         386  +
                        ))
         387  +
                    }
         388  +
                };
         389  +
                tmp.meta = generic;
         390  +
                if tmp.message.is_none() {
         391  +
                    tmp.message = _error_message;
         392  +
                }
         393  +
                tmp
         394  +
            }),
         395  +
            "InvalidParameterValueException" => {
         396  +
                crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::InvalidParameterValueException({
         397  +
                    let mut tmp = match protocol
         398  +
                        .deserialize_response(response, crate::types::error::InvalidParameterValueException::SCHEMA, _cfg)
         399  +
                        .and_then(|mut deser| {
         400  +
                            crate::types::error::InvalidParameterValueException::deserialize_with_response(
         401  +
                                &mut *deser,
         402  +
                                response.headers(),
         403  +
                                response.status().into(),
         404  +
                                body,
         405  +
                            )
         406  +
                        }) {
         407  +
                        ::std::result::Result::Ok(val) => val,
         408  +
                        ::std::result::Result::Err(e) => {
         409  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         410  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         411  +
                            ))
         412  +
                        }
         413  +
                    };
         414  +
                    tmp.meta = generic;
         415  +
                    if tmp.message.is_none() {
         416  +
                        tmp.message = _error_message;
         417  +
                    }
         418  +
                    tmp
         419  +
                })
         420  +
            }
         421  +
            "InvalidRequestContentException" => {
         422  +
                crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::InvalidRequestContentException({
         423  +
                    let mut tmp = match protocol
         424  +
                        .deserialize_response(response, crate::types::error::InvalidRequestContentException::SCHEMA, _cfg)
         425  +
                        .and_then(|mut deser| {
         426  +
                            crate::types::error::InvalidRequestContentException::deserialize_with_response(
         427  +
                                &mut *deser,
         428  +
                                response.headers(),
         429  +
                                response.status().into(),
         430  +
                                body,
         431  +
                            )
         432  +
                        }) {
         433  +
                        ::std::result::Result::Ok(val) => val,
         434  +
                        ::std::result::Result::Err(e) => {
         435  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         436  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         437  +
                            ))
         438  +
                        }
         439  +
                    };
         440  +
                    tmp.meta = generic;
         441  +
                    if tmp.message.is_none() {
         442  +
                        tmp.message = _error_message;
         443  +
                    }
         444  +
                    tmp
         445  +
                })
         446  +
            }
         447  +
            "InvalidRuntimeException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::InvalidRuntimeException({
         448  +
                let mut tmp = match protocol
         449  +
                    .deserialize_response(response, crate::types::error::InvalidRuntimeException::SCHEMA, _cfg)
         450  +
                    .and_then(|mut deser| {
         451  +
                        crate::types::error::InvalidRuntimeException::deserialize_with_response(
         452  +
                            &mut *deser,
         453  +
                            response.headers(),
         454  +
                            response.status().into(),
         455  +
                            body,
         456  +
                        )
         457  +
                    }) {
         458  +
                    ::std::result::Result::Ok(val) => val,
         459  +
                    ::std::result::Result::Err(e) => {
         460  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         461  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         462  +
                        ))
         463  +
                    }
         464  +
                };
         465  +
                tmp.meta = generic;
         466  +
                if tmp.message.is_none() {
         467  +
                    tmp.message = _error_message;
         468  +
                }
         469  +
                tmp
         470  +
            }),
         471  +
            "InvalidSecurityGroupIDException" => {
         472  +
                crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::InvalidSecurityGroupIdException({
         473  +
                    let mut tmp = match protocol
         474  +
                        .deserialize_response(response, crate::types::error::InvalidSecurityGroupIdException::SCHEMA, _cfg)
         475  +
                        .and_then(|mut deser| {
         476  +
                            crate::types::error::InvalidSecurityGroupIdException::deserialize_with_response(
         477  +
                                &mut *deser,
         478  +
                                response.headers(),
         479  +
                                response.status().into(),
         480  +
                                body,
         481  +
                            )
         482  +
                        }) {
         483  +
                        ::std::result::Result::Ok(val) => val,
         484  +
                        ::std::result::Result::Err(e) => {
         485  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         486  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         487  +
                            ))
         488  +
                        }
         489  +
                    };
         490  +
                    tmp.meta = generic;
         491  +
                    if tmp.message.is_none() {
         492  +
                        tmp.message = _error_message;
         493  +
                    }
         494  +
                    tmp
         495  +
                })
         496  +
            }
         497  +
            "InvalidSubnetIDException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::InvalidSubnetIdException({
         498  +
                let mut tmp = match protocol
         499  +
                    .deserialize_response(response, crate::types::error::InvalidSubnetIdException::SCHEMA, _cfg)
         500  +
                    .and_then(|mut deser| {
         501  +
                        crate::types::error::InvalidSubnetIdException::deserialize_with_response(
         502  +
                            &mut *deser,
         503  +
                            response.headers(),
         504  +
                            response.status().into(),
         505  +
                            body,
         506  +
                        )
         507  +
                    }) {
         508  +
                    ::std::result::Result::Ok(val) => val,
         509  +
                    ::std::result::Result::Err(e) => {
         510  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         511  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         512  +
                        ))
         513  +
                    }
         514  +
                };
         515  +
                tmp.meta = generic;
         516  +
                if tmp.message.is_none() {
         517  +
                    tmp.message = _error_message;
         518  +
                }
         519  +
                tmp
         520  +
            }),
         521  +
            "InvalidZipFileException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::InvalidZipFileException({
         522  +
                let mut tmp = match protocol
         523  +
                    .deserialize_response(response, crate::types::error::InvalidZipFileException::SCHEMA, _cfg)
         524  +
                    .and_then(|mut deser| {
         525  +
                        crate::types::error::InvalidZipFileException::deserialize_with_response(
         526  +
                            &mut *deser,
         527  +
                            response.headers(),
         528  +
                            response.status().into(),
         529  +
                            body,
         530  +
                        )
         531  +
                    }) {
         532  +
                    ::std::result::Result::Ok(val) => val,
         533  +
                    ::std::result::Result::Err(e) => {
         534  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         535  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         536  +
                        ))
         537  +
                    }
         538  +
                };
         539  +
                tmp.meta = generic;
         540  +
                if tmp.message.is_none() {
         541  +
                    tmp.message = _error_message;
         542  +
                }
         543  +
                tmp
         544  +
            }),
         545  +
            "KMSAccessDeniedException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::KmsAccessDeniedException({
         546  +
                let mut tmp = match protocol
         547  +
                    .deserialize_response(response, crate::types::error::KmsAccessDeniedException::SCHEMA, _cfg)
         548  +
                    .and_then(|mut deser| {
         549  +
                        crate::types::error::KmsAccessDeniedException::deserialize_with_response(
         550  +
                            &mut *deser,
         551  +
                            response.headers(),
         552  +
                            response.status().into(),
         553  +
                            body,
         554  +
                        )
         555  +
                    }) {
         556  +
                    ::std::result::Result::Ok(val) => val,
         557  +
                    ::std::result::Result::Err(e) => {
         558  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         559  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         560  +
                        ))
         561  +
                    }
         562  +
                };
         563  +
                tmp.meta = generic;
         564  +
                if tmp.message.is_none() {
         565  +
                    tmp.message = _error_message;
         566  +
                }
         567  +
                tmp
         568  +
            }),
         569  +
            "KMSDisabledException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::KmsDisabledException({
         570  +
                let mut tmp = match protocol
         571  +
                    .deserialize_response(response, crate::types::error::KmsDisabledException::SCHEMA, _cfg)
         572  +
                    .and_then(|mut deser| {
         573  +
                        crate::types::error::KmsDisabledException::deserialize_with_response(
         574  +
                            &mut *deser,
         575  +
                            response.headers(),
         576  +
                            response.status().into(),
         577  +
                            body,
         578  +
                        )
         579  +
                    }) {
         580  +
                    ::std::result::Result::Ok(val) => val,
         581  +
                    ::std::result::Result::Err(e) => {
         582  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         583  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         584  +
                        ))
         585  +
                    }
         586  +
                };
         587  +
                tmp.meta = generic;
         588  +
                if tmp.message.is_none() {
         589  +
                    tmp.message = _error_message;
         590  +
                }
         591  +
                tmp
         592  +
            }),
         593  +
            "KMSInvalidStateException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::KmsInvalidStateException({
         594  +
                let mut tmp = match protocol
         595  +
                    .deserialize_response(response, crate::types::error::KmsInvalidStateException::SCHEMA, _cfg)
         596  +
                    .and_then(|mut deser| {
         597  +
                        crate::types::error::KmsInvalidStateException::deserialize_with_response(
         598  +
                            &mut *deser,
         599  +
                            response.headers(),
         600  +
                            response.status().into(),
         601  +
                            body,
         602  +
                        )
         603  +
                    }) {
         604  +
                    ::std::result::Result::Ok(val) => val,
         605  +
                    ::std::result::Result::Err(e) => {
         606  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         607  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         608  +
                        ))
         609  +
                    }
         610  +
                };
         611  +
                tmp.meta = generic;
         612  +
                if tmp.message.is_none() {
         613  +
                    tmp.message = _error_message;
         614  +
                }
         615  +
                tmp
         616  +
            }),
         617  +
            "KMSNotFoundException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::KmsNotFoundException({
         618  +
                let mut tmp = match protocol
         619  +
                    .deserialize_response(response, crate::types::error::KmsNotFoundException::SCHEMA, _cfg)
         620  +
                    .and_then(|mut deser| {
         621  +
                        crate::types::error::KmsNotFoundException::deserialize_with_response(
         622  +
                            &mut *deser,
         623  +
                            response.headers(),
         624  +
                            response.status().into(),
         625  +
                            body,
         626  +
                        )
         627  +
                    }) {
         628  +
                    ::std::result::Result::Ok(val) => val,
         629  +
                    ::std::result::Result::Err(e) => {
         630  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         631  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         632  +
                        ))
         633  +
                    }
         634  +
                };
         635  +
                tmp.meta = generic;
         636  +
                if tmp.message.is_none() {
         637  +
                    tmp.message = _error_message;
         638  +
                }
         639  +
                tmp
         640  +
            }),
         641  +
            "RecursiveInvocationException" => {
         642  +
                crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::RecursiveInvocationException({
         643  +
                    let mut tmp = match protocol
         644  +
                        .deserialize_response(response, crate::types::error::RecursiveInvocationException::SCHEMA, _cfg)
         645  +
                        .and_then(|mut deser| {
         646  +
                            crate::types::error::RecursiveInvocationException::deserialize_with_response(
         647  +
                                &mut *deser,
         648  +
                                response.headers(),
         649  +
                                response.status().into(),
         650  +
                                body,
         651  +
                            )
         652  +
                        }) {
         653  +
                        ::std::result::Result::Ok(val) => val,
         654  +
                        ::std::result::Result::Err(e) => {
         655  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         656  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         657  +
                            ))
         658  +
                        }
         659  +
                    };
         660  +
                    tmp.meta = generic;
         661  +
                    if tmp.message.is_none() {
         662  +
                        tmp.message = _error_message;
         663  +
                    }
         664  +
                    tmp
         665  +
                })
         666  +
            }
         667  +
            "RequestTooLargeException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::RequestTooLargeException({
         668  +
                let mut tmp = match protocol
         669  +
                    .deserialize_response(response, crate::types::error::RequestTooLargeException::SCHEMA, _cfg)
         670  +
                    .and_then(|mut deser| {
         671  +
                        crate::types::error::RequestTooLargeException::deserialize_with_response(
         672  +
                            &mut *deser,
         673  +
                            response.headers(),
         674  +
                            response.status().into(),
         675  +
                            body,
         676  +
                        )
         677  +
                    }) {
         678  +
                    ::std::result::Result::Ok(val) => val,
         679  +
                    ::std::result::Result::Err(e) => {
         680  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         681  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         682  +
                        ))
         683  +
                    }
         684  +
                };
         685  +
                tmp.meta = generic;
         686  +
                if tmp.message.is_none() {
         687  +
                    tmp.message = _error_message;
         688  +
                }
         689  +
                tmp
         690  +
            }),
         691  +
            "ResourceConflictException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::ResourceConflictException({
         692  +
                let mut tmp = match protocol
         693  +
                    .deserialize_response(response, crate::types::error::ResourceConflictException::SCHEMA, _cfg)
         694  +
                    .and_then(|mut deser| {
         695  +
                        crate::types::error::ResourceConflictException::deserialize_with_response(
         696  +
                            &mut *deser,
         697  +
                            response.headers(),
         698  +
                            response.status().into(),
         699  +
                            body,
         700  +
                        )
         701  +
                    }) {
         702  +
                    ::std::result::Result::Ok(val) => val,
         703  +
                    ::std::result::Result::Err(e) => {
         704  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         705  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         706  +
                        ))
         707  +
                    }
         708  +
                };
         709  +
                tmp.meta = generic;
         710  +
                if tmp.message.is_none() {
         711  +
                    tmp.message = _error_message;
         712  +
                }
         713  +
                tmp
         714  +
            }),
         715  +
            "ResourceNotFoundException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::ResourceNotFoundException({
         716  +
                let mut tmp = match protocol
         717  +
                    .deserialize_response(response, crate::types::error::ResourceNotFoundException::SCHEMA, _cfg)
         718  +
                    .and_then(|mut deser| {
         719  +
                        crate::types::error::ResourceNotFoundException::deserialize_with_response(
         720  +
                            &mut *deser,
         721  +
                            response.headers(),
         722  +
                            response.status().into(),
         723  +
                            body,
         724  +
                        )
         725  +
                    }) {
         726  +
                    ::std::result::Result::Ok(val) => val,
         727  +
                    ::std::result::Result::Err(e) => {
         728  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         729  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         730  +
                        ))
         731  +
                    }
         732  +
                };
         733  +
                tmp.meta = generic;
         734  +
                if tmp.message.is_none() {
         735  +
                    tmp.message = _error_message;
         736  +
                }
         737  +
                tmp
         738  +
            }),
         739  +
            "ResourceNotReadyException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::ResourceNotReadyException({
         740  +
                let mut tmp = match protocol
         741  +
                    .deserialize_response(response, crate::types::error::ResourceNotReadyException::SCHEMA, _cfg)
         742  +
                    .and_then(|mut deser| {
         743  +
                        crate::types::error::ResourceNotReadyException::deserialize_with_response(
         744  +
                            &mut *deser,
         745  +
                            response.headers(),
         746  +
                            response.status().into(),
         747  +
                            body,
         748  +
                        )
         749  +
                    }) {
         750  +
                    ::std::result::Result::Ok(val) => val,
         751  +
                    ::std::result::Result::Err(e) => {
         752  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         753  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         754  +
                        ))
         755  +
                    }
         756  +
                };
         757  +
                tmp.meta = generic;
         758  +
                if tmp.message.is_none() {
         759  +
                    tmp.message = _error_message;
         760  +
                }
         761  +
                tmp
         762  +
            }),
         763  +
            "ServiceException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::ServiceException({
         764  +
                let mut tmp = match protocol
         765  +
                    .deserialize_response(response, crate::types::error::ServiceException::SCHEMA, _cfg)
         766  +
                    .and_then(|mut deser| {
         767  +
                        crate::types::error::ServiceException::deserialize_with_response(
         768  +
                            &mut *deser,
         769  +
                            response.headers(),
         770  +
                            response.status().into(),
         771  +
                            body,
         772  +
                        )
         773  +
                    }) {
         774  +
                    ::std::result::Result::Ok(val) => val,
         775  +
                    ::std::result::Result::Err(e) => {
         776  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         777  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         778  +
                        ))
         779  +
                    }
         780  +
                };
         781  +
                tmp.meta = generic;
         782  +
                if tmp.message.is_none() {
         783  +
                    tmp.message = _error_message;
         784  +
                }
         785  +
                tmp
         786  +
            }),
         787  +
            "SnapStartException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::SnapStartException({
         788  +
                let mut tmp = match protocol
         789  +
                    .deserialize_response(response, crate::types::error::SnapStartException::SCHEMA, _cfg)
         790  +
                    .and_then(|mut deser| {
         791  +
                        crate::types::error::SnapStartException::deserialize_with_response(
         792  +
                            &mut *deser,
         793  +
                            response.headers(),
         794  +
                            response.status().into(),
         795  +
                            body,
         796  +
                        )
         797  +
                    }) {
         798  +
                    ::std::result::Result::Ok(val) => val,
         799  +
                    ::std::result::Result::Err(e) => {
         800  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         801  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         802  +
                        ))
         803  +
                    }
         804  +
                };
         805  +
                tmp.meta = generic;
         806  +
                if tmp.message.is_none() {
         807  +
                    tmp.message = _error_message;
         808  +
                }
         809  +
                tmp
         810  +
            }),
         811  +
            "SnapStartNotReadyException" => {
         812  +
                crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::SnapStartNotReadyException({
         813  +
                    let mut tmp = match protocol
         814  +
                        .deserialize_response(response, crate::types::error::SnapStartNotReadyException::SCHEMA, _cfg)
         815  +
                        .and_then(|mut deser| {
         816  +
                            crate::types::error::SnapStartNotReadyException::deserialize_with_response(
         817  +
                                &mut *deser,
         818  +
                                response.headers(),
         819  +
                                response.status().into(),
         820  +
                                body,
         821  +
                            )
         822  +
                        }) {
         823  +
                        ::std::result::Result::Ok(val) => val,
         824  +
                        ::std::result::Result::Err(e) => {
         825  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         826  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         827  +
                            ))
         828  +
                        }
         829  +
                    };
         830  +
                    tmp.meta = generic;
         831  +
                    if tmp.message.is_none() {
         832  +
                        tmp.message = _error_message;
         833  +
                    }
         834  +
                    tmp
         835  +
                })
         836  +
            }
         837  +
            "SnapStartTimeoutException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::SnapStartTimeoutException({
         838  +
                let mut tmp = match protocol
         839  +
                    .deserialize_response(response, crate::types::error::SnapStartTimeoutException::SCHEMA, _cfg)
         840  +
                    .and_then(|mut deser| {
         841  +
                        crate::types::error::SnapStartTimeoutException::deserialize_with_response(
         842  +
                            &mut *deser,
         843  +
                            response.headers(),
         844  +
                            response.status().into(),
         845  +
                            body,
         846  +
                        )
         847  +
                    }) {
         848  +
                    ::std::result::Result::Ok(val) => val,
         849  +
                    ::std::result::Result::Err(e) => {
         850  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         851  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         852  +
                        ))
         853  +
                    }
         854  +
                };
         855  +
                tmp.meta = generic;
         856  +
                if tmp.message.is_none() {
         857  +
                    tmp.message = _error_message;
         858  +
                }
         859  +
                tmp
         860  +
            }),
         861  +
            "SubnetIPAddressLimitReachedException" => {
         862  +
                crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::SubnetIpAddressLimitReachedException({
         863  +
                    let mut tmp = match protocol
         864  +
                        .deserialize_response(response, crate::types::error::SubnetIpAddressLimitReachedException::SCHEMA, _cfg)
         865  +
                        .and_then(|mut deser| {
         866  +
                            crate::types::error::SubnetIpAddressLimitReachedException::deserialize_with_response(
         867  +
                                &mut *deser,
         868  +
                                response.headers(),
         869  +
                                response.status().into(),
         870  +
                                body,
         871  +
                            )
         872  +
                        }) {
         873  +
                        ::std::result::Result::Ok(val) => val,
         874  +
                        ::std::result::Result::Err(e) => {
         875  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         876  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         877  +
                            ))
         878  +
                        }
         879  +
                    };
         880  +
                    tmp.meta = generic;
         881  +
                    if tmp.message.is_none() {
         882  +
                        tmp.message = _error_message;
         883  +
                    }
         884  +
                    tmp
         885  +
                })
         886  +
            }
         887  +
            "TooManyRequestsException" => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::TooManyRequestsException({
         888  +
                let mut tmp = match protocol
         889  +
                    .deserialize_response(response, crate::types::error::TooManyRequestsException::SCHEMA, _cfg)
         890  +
                    .and_then(|mut deser| {
         891  +
                        crate::types::error::TooManyRequestsException::deserialize_with_response(
         892  +
                            &mut *deser,
         893  +
                            response.headers(),
         894  +
                            response.status().into(),
         895  +
                            body,
         896  +
                        )
         897  +
                    }) {
         898  +
                    ::std::result::Result::Ok(val) => val,
         899  +
                    ::std::result::Result::Err(e) => {
         900  +
                        return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         901  +
                            ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         902  +
                        ))
         903  +
                    }
         904  +
                };
         905  +
                tmp.meta = generic;
         906  +
                if tmp.message.is_none() {
         907  +
                    tmp.message = _error_message;
         908  +
                }
         909  +
                tmp
         910  +
            }),
         911  +
            "UnsupportedMediaTypeException" => {
         912  +
                crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::UnsupportedMediaTypeException({
         913  +
                    let mut tmp = match protocol
         914  +
                        .deserialize_response(response, crate::types::error::UnsupportedMediaTypeException::SCHEMA, _cfg)
         915  +
                        .and_then(|mut deser| {
         916  +
                            crate::types::error::UnsupportedMediaTypeException::deserialize_with_response(
         917  +
                                &mut *deser,
         918  +
                                response.headers(),
         919  +
                                response.status().into(),
         920  +
                                body,
         921  +
                            )
         922  +
                        }) {
         923  +
                        ::std::result::Result::Ok(val) => val,
         924  +
                        ::std::result::Result::Err(e) => {
         925  +
                            return ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(
         926  +
                                ::aws_smithy_runtime_api::box_error::BoxError::from(e),
         927  +
                            ))
         928  +
                        }
         929  +
                    };
         930  +
                    tmp.meta = generic;
         931  +
                    if tmp.message.is_none() {
         932  +
                        tmp.message = _error_message;
         933  +
                    }
         934  +
                    tmp
         935  +
                })
         936  +
            }
         937  +
            _ => crate::operation::invoke_with_response_stream::InvokeWithResponseStreamError::generic(generic),
         938  +
        };
         939  +
        ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::operation(
         940  +
            ::aws_smithy_runtime_api::client::interceptors::context::Error::erase(err),
         941  +
        ))
  178    942   
    }
  179    943   
}
  180    944   
#[derive(Debug)]
  181    945   
struct InvokeWithResponseStreamRequestSerializer;
  182    946   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for InvokeWithResponseStreamRequestSerializer {
  183    947   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  184    948   
    fn serialize_input(
  185    949   
        &self,
  186    950   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  187    951   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  188    952   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  189    953   
        let input = input
  190    954   
            .downcast::<crate::operation::invoke_with_response_stream::InvokeWithResponseStreamInput>()
  191    955   
            .expect("correct type");
  192         -
        let _header_serialization_settings = _cfg
  193         -
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  194         -
            .cloned()
  195         -
            .unwrap_or_default();
  196         -
        let mut request_builder = {
  197         -
            #[allow(clippy::uninlined_format_args)]
  198         -
            fn uri_base(
  199         -
                _input: &crate::operation::invoke_with_response_stream::InvokeWithResponseStreamInput,
  200         -
                output: &mut ::std::string::String,
  201         -
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  202         -
                use ::std::fmt::Write as _;
  203         -
                let input_1 = &_input.function_name;
  204         -
                let input_1 = input_1
  205         -
                    .as_ref()
  206         -
                    .ok_or_else(|| ::aws_smithy_types::error::operation::BuildError::missing_field("function_name", "cannot be empty or unset"))?;
  207         -
                let function_name = ::aws_smithy_http::label::fmt_string(input_1, ::aws_smithy_http::label::EncodingStrategy::Default);
  208         -
                if function_name.is_empty() {
  209         -
                    return ::std::result::Result::Err(::aws_smithy_types::error::operation::BuildError::missing_field(
  210         -
                        "function_name",
  211         -
                        "cannot be empty or unset",
  212         -
                    ));
         956  +
        let protocol = _cfg
         957  +
            .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         958  +
            .expect("a SharedClientProtocol is required");
         959  +
        if protocol.supports_http_bindings() {
         960  +
            let mut input = input;
         961  +
            let payload = input.payload.take();
         962  +
            let mut request = protocol
         963  +
                .serialize_body(&input, InvokeWithResponseStream::INPUT_SCHEMA, "", _cfg)
         964  +
                .map_err(::aws_smithy_runtime_api::box_error::BoxError::from)?;
         965  +
            if let ::std::option::Option::Some(payload) = payload {
         966  +
                *request.body_mut() = ::aws_smithy_types::body::SdkBody::from(payload.into_inner());
         967  +
                request.headers_mut().insert("Content-Type", "application/octet-stream");
         968  +
                if let ::std::option::Option::Some(content_length) = request.body().content_length() {
         969  +
                    request.headers_mut().insert("Content-Length", content_length.to_string());
  213    970   
                }
  214         -
                ::std::write!(
  215         -
                    output,
  216         -
                    "/2021-11-15/functions/{FunctionName}/response-streaming-invocations",
  217         -
                    FunctionName = function_name
  218         -
                )
  219         -
                .expect("formatting should succeed");
  220         -
                ::std::result::Result::Ok(())
  221    971   
            }
  222         -
            fn uri_query(
  223         -
                _input: &crate::operation::invoke_with_response_stream::InvokeWithResponseStreamInput,
  224         -
                mut output: &mut ::std::string::String,
  225         -
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  226         -
                let mut query = ::aws_smithy_http::query::Writer::new(output);
  227         -
                if let ::std::option::Option::Some(inner_2) = &_input.qualifier {
  228         -
                    {
  229         -
                        query.push_kv("Qualifier", &::aws_smithy_http::query::fmt_string(inner_2));
  230         -
                    }
         972  +
            {
         973  +
                let mut uri = "/2021-11-15/functions/{FunctionName}/response-streaming-invocations".to_string();
         974  +
                let mut query_params: Vec<(String, String)> = Vec::new();
         975  +
                if let Some(ref val) = input.function_name {
         976  +
                    uri = uri.replace("{FunctionName}", &::aws_smithy_schema::http_protocol::percent_encode(&val.to_string()));
  231    977   
                }
  232         -
                ::std::result::Result::Ok(())
  233         -
            }
  234         -
            #[allow(clippy::unnecessary_wraps)]
  235         -
            fn update_http_builder(
  236         -
                input: &crate::operation::invoke_with_response_stream::InvokeWithResponseStreamInput,
  237         -
                builder: ::http_1x::request::Builder,
  238         -
            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  239         -
                let mut uri = ::std::string::String::new();
  240         -
                uri_base(input, &mut uri)?;
  241         -
                uri_query(input, &mut uri)?;
  242         -
                let builder = crate::protocol_serde::shape_invoke_with_response_stream::ser_invoke_with_response_stream_headers(input, builder)?;
  243         -
                ::std::result::Result::Ok(builder.method("POST").uri(uri))
         978  +
                if let Some(ref val) = input.invocation_type {
         979  +
                    request.headers_mut().insert("X-Amz-Invocation-Type", val.as_str().to_string());
         980  +
                }
         981  +
                if let Some(ref val) = input.log_type {
         982  +
                    request.headers_mut().insert("X-Amz-Log-Type", val.as_str().to_string());
         983  +
                }
         984  +
                if let Some(ref val) = input.client_context {
         985  +
                    request.headers_mut().insert("X-Amz-Client-Context", val.to_string());
         986  +
                }
         987  +
                if let Some(ref val) = input.qualifier {
         988  +
                    query_params.push(("Qualifier".to_string(), val.to_string()));
         989  +
                }
         990  +
                if !query_params.is_empty() {
         991  +
                    uri.push(if uri.contains('?') { '&' } else { '?' });
         992  +
                    let pairs: Vec<String> = query_params
         993  +
                        .iter()
         994  +
                        .map(|(k, v)| {
         995  +
                            format!(
         996  +
                                "{}={}",
         997  +
                                ::aws_smithy_schema::http_protocol::percent_encode(k),
         998  +
                                ::aws_smithy_schema::http_protocol::percent_encode(v)
         999  +
                            )
        1000  +
                        })
        1001  +
                        .collect();
        1002  +
                    uri.push_str(&pairs.join("&"));
        1003  +
                }
        1004  +
                request.set_uri(uri.as_str()).expect("valid URI");
  244   1005   
            }
  245         -
            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
  246         -
            builder = _header_serialization_settings.set_default_header(builder, ::http_1x::header::CONTENT_TYPE, "application/octet-stream");
  247         -
            builder
  248         -
        };
  249         -
        let body = ::aws_smithy_types::body::SdkBody::from(crate::protocol_serde::shape_invoke_with_response_stream_input::ser_payload_http_payload(
  250         -
            input.payload,
  251         -
        )?);
  252         -
        if let Some(content_length) = body.content_length() {
  253         -
            let content_length = content_length.to_string();
  254         -
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
        1006  +
        1007  +
            return ::std::result::Result::Ok(request);
        1008  +
        } else {
        1009  +
            let mut request = protocol
        1010  +
                .serialize_request(&input, InvokeWithResponseStream::INPUT_SCHEMA, "", _cfg)
        1011  +
                .map_err(::aws_smithy_runtime_api::box_error::BoxError::from)?;
        1012  +
        1013  +
            return ::std::result::Result::Ok(request);
  255   1014   
        }
  256         -
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  257   1015   
    }
  258   1016   
}
  259   1017   
#[derive(Debug)]
  260   1018   
struct InvokeWithResponseStreamEndpointParamsInterceptor;
  261   1019   
  262   1020   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for InvokeWithResponseStreamEndpointParamsInterceptor {
  263   1021   
    fn name(&self) -> &'static str {
  264   1022   
        "InvokeWithResponseStreamEndpointParamsInterceptor"
  265   1023   
    }
  266   1024