Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/protocol_serde/shape_list_snapshot_blocks.rs

@@ -1,1 +199,291 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_list_snapshot_blocks_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<
    8     10   
    crate::operation::list_snapshot_blocks::ListSnapshotBlocksOutput,
    9     11   
    crate::operation::list_snapshot_blocks::ListSnapshotBlocksError,
   10     12   
> {
          13  +
    /* RustType.kt:516 */
   11     14   
    #[allow(unused_mut)]
          15  +
    /* ProtocolParserGenerator.kt:106 */
   12     16   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   13     17   
        .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:122 */
   15     21   
    let error_code = match generic.code() {
   16     22   
        Some(code) => code,
   17     23   
        None => return Err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled(generic)),
   18     24   
    };
   19     25   
   20     26   
    let _error_message = generic.message().map(|msg| msg.to_owned());
          27  +
    /* ProtocolParserGenerator.kt:133 */
   21     28   
    Err(match error_code {
          29  +
        /* ProtocolParserGenerator.kt:139 */
   22     30   
        "AccessDeniedException" => crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::AccessDeniedError({
          31  +
            /* RustType.kt:516 */
   23     32   
            #[allow(unused_mut)]
   24         -
            let mut tmp = {
   25         -
                #[allow(unused_mut)]
   26         -
                let mut output = crate::types::error::builders::AccessDeniedErrorBuilder::default();
   27         -
                output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
   28         -
                    .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
   29         -
                let output = output.meta(generic);
   30         -
                crate::serde_util::access_denied_exception_correct_errors(output)
   31         -
                    .build()
   32         -
                    .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?
   33         -
            };
          33  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          34  +
                /* ProtocolParserGenerator.kt:146 */ {
          35  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          36  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::AccessDeniedErrorBuilder::default();
          37  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output).map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
          38  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          39  +
                    /* ClientBuilderInstantiator.kt:46 */crate::serde_util::access_denied_exception_correct_errors(output).build().map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?
          40  +
                /* ProtocolParserGenerator.kt:146 */}
          41  +
            /* ProtocolParserGenerator.kt:145 */;
          42  +
            /* ProtocolParserGenerator.kt:170 */
   34     43   
            if tmp.message.is_none() {
   35     44   
                tmp.message = _error_message;
   36     45   
            }
          46  +
            /* ProtocolParserGenerator.kt:179 */
   37     47   
            tmp
          48  +
            /* ProtocolParserGenerator.kt:139 */
   38     49   
        }),
          50  +
        /* ProtocolParserGenerator.kt:139 */
   39     51   
        "InternalServerException" => crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::InternalServerError({
          52  +
            /* RustType.kt:516 */
   40     53   
            #[allow(unused_mut)]
   41         -
            let mut tmp = {
   42         -
                #[allow(unused_mut)]
   43         -
                let mut output = crate::types::error::builders::InternalServerErrorBuilder::default();
   44         -
                output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output)
   45         -
                    .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
   46         -
                let output = output.meta(generic);
   47         -
                output.build()
   48         -
            };
          54  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          55  +
                /* ProtocolParserGenerator.kt:146 */ {
          56  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          57  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::InternalServerErrorBuilder::default();
          58  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output).map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
          59  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          60  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          61  +
                /* ProtocolParserGenerator.kt:146 */}
          62  +
            /* ProtocolParserGenerator.kt:145 */;
          63  +
            /* ProtocolParserGenerator.kt:170 */
   49     64   
            if tmp.message.is_none() {
   50     65   
                tmp.message = _error_message;
   51     66   
            }
          67  +
            /* ProtocolParserGenerator.kt:179 */
   52     68   
            tmp
          69  +
            /* ProtocolParserGenerator.kt:139 */
   53     70   
        }),
          71  +
        /* ProtocolParserGenerator.kt:139 */
   54     72   
        "RequestThrottledException" => crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::RequestThrottledError({
          73  +
            /* RustType.kt:516 */
   55     74   
            #[allow(unused_mut)]
   56         -
            let mut tmp = {
   57         -
                #[allow(unused_mut)]
   58         -
                let mut output = crate::types::error::builders::RequestThrottledErrorBuilder::default();
   59         -
                output = crate::protocol_serde::shape_request_throttled_exception::de_request_throttled_exception_json_err(_response_body, output)
   60         -
                    .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
   61         -
                let output = output.meta(generic);
   62         -
                output.build()
   63         -
            };
          75  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          76  +
                /* ProtocolParserGenerator.kt:146 */ {
          77  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          78  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::RequestThrottledErrorBuilder::default();
          79  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_request_throttled_exception::de_request_throttled_exception_json_err(_response_body, output).map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
          80  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          81  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          82  +
                /* ProtocolParserGenerator.kt:146 */}
          83  +
            /* ProtocolParserGenerator.kt:145 */;
          84  +
            /* ProtocolParserGenerator.kt:170 */
   64     85   
            if tmp.message.is_none() {
   65     86   
                tmp.message = _error_message;
   66     87   
            }
          88  +
            /* ProtocolParserGenerator.kt:179 */
   67     89   
            tmp
          90  +
            /* ProtocolParserGenerator.kt:139 */
   68     91   
        }),
          92  +
        /* ProtocolParserGenerator.kt:139 */
   69     93   
        "ResourceNotFoundException" => crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::ResourceNotFoundError({
          94  +
            /* RustType.kt:516 */
   70     95   
            #[allow(unused_mut)]
   71         -
            let mut tmp = {
   72         -
                #[allow(unused_mut)]
   73         -
                let mut output = crate::types::error::builders::ResourceNotFoundErrorBuilder::default();
   74         -
                output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
   75         -
                    .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
   76         -
                let output = output.meta(generic);
   77         -
                output.build()
   78         -
            };
          96  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          97  +
                /* ProtocolParserGenerator.kt:146 */ {
          98  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          99  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ResourceNotFoundErrorBuilder::default();
         100  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output).map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
         101  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         102  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         103  +
                /* ProtocolParserGenerator.kt:146 */}
         104  +
            /* ProtocolParserGenerator.kt:145 */;
         105  +
            /* ProtocolParserGenerator.kt:170 */
   79    106   
            if tmp.message.is_none() {
   80    107   
                tmp.message = _error_message;
   81    108   
            }
         109  +
            /* ProtocolParserGenerator.kt:179 */
   82    110   
            tmp
         111  +
            /* ProtocolParserGenerator.kt:139 */
   83    112   
        }),
         113  +
        /* ProtocolParserGenerator.kt:139 */
   84    114   
        "ServiceQuotaExceededException" => crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::ServiceQuotaExceededError({
         115  +
            /* RustType.kt:516 */
   85    116   
            #[allow(unused_mut)]
   86         -
            let mut tmp = {
   87         -
                #[allow(unused_mut)]
   88         -
                let mut output = crate::types::error::builders::ServiceQuotaExceededErrorBuilder::default();
   89         -
                output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(
   90         -
                    _response_body,
   91         -
                    output,
   92         -
                )
   93         -
                .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
   94         -
                let output = output.meta(generic);
   95         -
                output.build()
   96         -
            };
         117  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
         118  +
                /* ProtocolParserGenerator.kt:146 */ {
         119  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
         120  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ServiceQuotaExceededErrorBuilder::default();
         121  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(_response_body, output).map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
         122  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         123  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         124  +
                /* ProtocolParserGenerator.kt:146 */}
         125  +
            /* ProtocolParserGenerator.kt:145 */;
         126  +
            /* ProtocolParserGenerator.kt:170 */
   97    127   
            if tmp.message.is_none() {
   98    128   
                tmp.message = _error_message;
   99    129   
            }
         130  +
            /* ProtocolParserGenerator.kt:179 */
  100    131   
            tmp
         132  +
            /* ProtocolParserGenerator.kt:139 */
  101    133   
        }),
         134  +
        /* ProtocolParserGenerator.kt:139 */
  102    135   
        "ValidationException" => crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::ValidationError({
         136  +
            /* RustType.kt:516 */
  103    137   
            #[allow(unused_mut)]
  104         -
            let mut tmp = {
  105         -
                #[allow(unused_mut)]
  106         -
                let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
  107         -
                output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
  108         -
                    .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
  109         -
                let output = output.meta(generic);
  110         -
                output.build()
  111         -
            };
         138  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
         139  +
                /* ProtocolParserGenerator.kt:146 */ {
         140  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
         141  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
         142  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output).map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
         143  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         144  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         145  +
                /* ProtocolParserGenerator.kt:146 */}
         146  +
            /* ProtocolParserGenerator.kt:145 */;
         147  +
            /* ProtocolParserGenerator.kt:170 */
  112    148   
            if tmp.message.is_none() {
  113    149   
                tmp.message = _error_message;
  114    150   
            }
         151  +
            /* ProtocolParserGenerator.kt:179 */
  115    152   
            tmp
         153  +
            /* ProtocolParserGenerator.kt:139 */
  116    154   
        }),
  117         -
        _ => crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::generic(generic),
         155  +
        /* ProtocolParserGenerator.kt:182 */
         156  +
        _ => crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::generic(generic), /* ProtocolParserGenerator.kt:133 */
  118    157   
    })
         158  +
    /* ProtocolParserGenerator.kt:99 */
  119    159   
}
  120    160   
         161  +
/* RustType.kt:516 */
  121    162   
#[allow(clippy::unnecessary_wraps)]
         163  +
/* ProtocolParserGenerator.kt:71 */
  122    164   
pub fn de_list_snapshot_blocks_http_response(
  123    165   
    _response_status: u16,
  124    166   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
  125    167   
    _response_body: &[u8],
  126    168   
) -> std::result::Result<
  127    169   
    crate::operation::list_snapshot_blocks::ListSnapshotBlocksOutput,
  128    170   
    crate::operation::list_snapshot_blocks::ListSnapshotBlocksError,
  129    171   
> {
         172  +
    /* ProtocolParserGenerator.kt:77 */
  130    173   
    Ok({
         174  +
        /* RustType.kt:516 */
  131    175   
        #[allow(unused_mut)]
         176  +
        /* ProtocolParserGenerator.kt:240 */
  132    177   
        let mut output = crate::operation::list_snapshot_blocks::builders::ListSnapshotBlocksOutputBuilder::default();
         178  +
        /* ProtocolParserGenerator.kt:247 */
  133    179   
        output = crate::protocol_serde::shape_list_snapshot_blocks::de_list_snapshot_blocks(_response_body, output)
  134    180   
            .map_err(crate::operation::list_snapshot_blocks::ListSnapshotBlocksError::unhandled)?;
         181  +
        /* ClientBuilderInstantiator.kt:56 */
  135    182   
        output.build()
         183  +
        /* ProtocolParserGenerator.kt:77 */
  136    184   
    })
         185  +
    /* ProtocolParserGenerator.kt:71 */
  137    186   
}
  138    187   
         188  +
/* JsonParserGenerator.kt:148 */
  139    189   
pub(crate) fn de_list_snapshot_blocks(
  140    190   
    value: &[u8],
  141    191   
    mut builder: crate::operation::list_snapshot_blocks::builders::ListSnapshotBlocksOutputBuilder,
  142    192   
) -> ::std::result::Result<
  143    193   
    crate::operation::list_snapshot_blocks::builders::ListSnapshotBlocksOutputBuilder,
  144    194   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  145    195   
> {
         196  +
    /* JsonParserGenerator.kt:153 */
  146    197   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
  147    198   
    let tokens = &mut tokens_owned;
  148    199   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
         200  +
    /* JsonParserGenerator.kt:684 */
  149    201   
    loop {
         202  +
        /* JsonParserGenerator.kt:685 */
  150    203   
        match tokens.next().transpose()? {
  151         -
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  152         -
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
  153         -
                "BlockSize" => {
  154         -
                    builder = builder.set_block_size(
  155         -
                        ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
  156         -
                            .map(i32::try_from)
  157         -
                            .transpose()?,
  158         -
                    );
         204  +
            /* JsonParserGenerator.kt:686 */ Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
         205  +
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
         206  +
                /* JsonParserGenerator.kt:260 */
         207  +
                match key.to_unescaped()?.as_ref() {
         208  +
                    /* JsonParserGenerator.kt:262 */
         209  +
                    "BlockSize" => {
         210  +
                        /* JsonParserGenerator.kt:265 */
         211  +
                        builder = builder.set_block_size(
         212  +
                            /* JsonParserGenerator.kt:365 */
         213  +
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         214  +
                                .map(i32::try_from)
         215  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         216  +
                        );
         217  +
                        /* JsonParserGenerator.kt:262 */
         218  +
                    }
         219  +
                    /* JsonParserGenerator.kt:262 */
         220  +
                    "Blocks" => {
         221  +
                        /* JsonParserGenerator.kt:265 */
         222  +
                        builder = builder.set_blocks(
         223  +
                            /* JsonParserGenerator.kt:451 */
         224  +
                            crate::protocol_serde::shape_blocks::de_blocks(tokens)?, /* JsonParserGenerator.kt:265 */
         225  +
                        );
         226  +
                        /* JsonParserGenerator.kt:262 */
         227  +
                    }
         228  +
                    /* JsonParserGenerator.kt:262 */
         229  +
                    "ExpiryTime" => {
         230  +
                        /* JsonParserGenerator.kt:265 */
         231  +
                        builder = builder.set_expiry_time(
         232  +
                            /* JsonParserGenerator.kt:384 */
         233  +
                            ::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
         234  +
                                tokens.next(),
         235  +
                                ::aws_smithy_types::date_time::Format::EpochSeconds,
         236  +
                            )?, /* JsonParserGenerator.kt:265 */
         237  +
                        );
         238  +
                        /* JsonParserGenerator.kt:262 */
         239  +
                    }
         240  +
                    /* JsonParserGenerator.kt:262 */
         241  +
                    "NextToken" => {
         242  +
                        /* JsonParserGenerator.kt:265 */
         243  +
                        builder = builder.set_next_token(
         244  +
                            /* JsonParserGenerator.kt:354 */
         245  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
         246  +
                                .map(|s|
         247  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         248  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
         249  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
         250  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         251  +
                        );
         252  +
                        /* JsonParserGenerator.kt:262 */
         253  +
                    }
         254  +
                    /* JsonParserGenerator.kt:262 */
         255  +
                    "VolumeSize" => {
         256  +
                        /* JsonParserGenerator.kt:265 */
         257  +
                        builder = builder.set_volume_size(
         258  +
                            /* JsonParserGenerator.kt:365 */
         259  +
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         260  +
                                .map(i64::try_from)
         261  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         262  +
                        );
         263  +
                        /* JsonParserGenerator.kt:262 */
         264  +
                    }
         265  +
                    /* JsonParserGenerator.kt:290 */
         266  +
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:260 */
  159    267   
                }
  160         -
                "Blocks" => {
  161         -
                    builder = builder.set_blocks(crate::protocol_serde::shape_blocks::de_blocks(tokens)?);
  162         -
                }
  163         -
                "ExpiryTime" => {
  164         -
                    builder = builder.set_expiry_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
  165         -
                        tokens.next(),
  166         -
                        ::aws_smithy_types::date_time::Format::EpochSeconds,
  167         -
                    )?);
  168         -
                }
  169         -
                "NextToken" => {
  170         -
                    builder = builder.set_next_token(
  171         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
  172         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
  173         -
                            .transpose()?,
  174         -
                    );
  175         -
                }
  176         -
                "VolumeSize" => {
  177         -
                    builder = builder.set_volume_size(
  178         -
                        ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
  179         -
                            .map(i64::try_from)
  180         -
                            .transpose()?,
  181         -
                    );
  182         -
                }
  183         -
                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
  184         -
            },
         268  +
                /* JsonParserGenerator.kt:686 */
         269  +
            }
         270  +
            /* JsonParserGenerator.kt:695 */
  185    271   
            other => {
  186    272   
                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  187    273   
                    "expected object key or end object, found: {:?}",
  188    274   
                    other
  189    275   
                )))
  190         -
            }
         276  +
            } /* JsonParserGenerator.kt:685 */
  191    277   
        }
         278  +
        /* JsonParserGenerator.kt:684 */
  192    279   
    }
         280  +
    /* JsonParserGenerator.kt:250 */
  193    281   
    if tokens.next().is_some() {
         282  +
        /* JsonParserGenerator.kt:251 */
  194    283   
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
  195    284   
            "found more JSON tokens after completing parsing",
  196    285   
        ));
         286  +
        /* JsonParserGenerator.kt:250 */
  197    287   
    }
         288  +
    /* JsonParserGenerator.kt:163 */
  198    289   
    Ok(builder)
         290  +
    /* JsonParserGenerator.kt:148 */
  199    291   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/protocol_serde/shape_put_snapshot_block.rs

@@ -1,1 +194,267 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_put_snapshot_block_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::put_snapshot_block::PutSnapshotBlockOutput, crate::operation::put_snapshot_block::PutSnapshotBlockError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:122 */
   12     18   
    let error_code = match generic.code() {
   13     19   
        Some(code) => code,
   14     20   
        None => return Err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled(generic)),
   15     21   
    };
   16     22   
   17     23   
    let _error_message = generic.message().map(|msg| msg.to_owned());
          24  +
    /* ProtocolParserGenerator.kt:133 */
   18     25   
    Err(match error_code {
          26  +
        /* ProtocolParserGenerator.kt:139 */
   19     27   
        "AccessDeniedException" => crate::operation::put_snapshot_block::PutSnapshotBlockError::AccessDeniedError({
          28  +
            /* RustType.kt:516 */
   20     29   
            #[allow(unused_mut)]
   21         -
            let mut tmp = {
   22         -
                #[allow(unused_mut)]
   23         -
                let mut output = crate::types::error::builders::AccessDeniedErrorBuilder::default();
   24         -
                output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
   25         -
                    .map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
   26         -
                let output = output.meta(generic);
   27         -
                crate::serde_util::access_denied_exception_correct_errors(output)
   28         -
                    .build()
   29         -
                    .map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?
   30         -
            };
          30  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          31  +
                /* ProtocolParserGenerator.kt:146 */ {
          32  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          33  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::AccessDeniedErrorBuilder::default();
          34  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output).map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
          35  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          36  +
                    /* ClientBuilderInstantiator.kt:46 */crate::serde_util::access_denied_exception_correct_errors(output).build().map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?
          37  +
                /* ProtocolParserGenerator.kt:146 */}
          38  +
            /* ProtocolParserGenerator.kt:145 */;
          39  +
            /* ProtocolParserGenerator.kt:170 */
   31     40   
            if tmp.message.is_none() {
   32     41   
                tmp.message = _error_message;
   33     42   
            }
          43  +
            /* ProtocolParserGenerator.kt:179 */
   34     44   
            tmp
          45  +
            /* ProtocolParserGenerator.kt:139 */
   35     46   
        }),
          47  +
        /* ProtocolParserGenerator.kt:139 */
   36     48   
        "InternalServerException" => crate::operation::put_snapshot_block::PutSnapshotBlockError::InternalServerError({
          49  +
            /* RustType.kt:516 */
   37     50   
            #[allow(unused_mut)]
   38         -
            let mut tmp = {
   39         -
                #[allow(unused_mut)]
   40         -
                let mut output = crate::types::error::builders::InternalServerErrorBuilder::default();
   41         -
                output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output)
   42         -
                    .map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
   43         -
                let output = output.meta(generic);
   44         -
                output.build()
   45         -
            };
          51  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          52  +
                /* ProtocolParserGenerator.kt:146 */ {
          53  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          54  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::InternalServerErrorBuilder::default();
          55  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output).map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
          56  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          57  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          58  +
                /* ProtocolParserGenerator.kt:146 */}
          59  +
            /* ProtocolParserGenerator.kt:145 */;
          60  +
            /* ProtocolParserGenerator.kt:170 */
   46     61   
            if tmp.message.is_none() {
   47     62   
                tmp.message = _error_message;
   48     63   
            }
          64  +
            /* ProtocolParserGenerator.kt:179 */
   49     65   
            tmp
          66  +
            /* ProtocolParserGenerator.kt:139 */
   50     67   
        }),
          68  +
        /* ProtocolParserGenerator.kt:139 */
   51     69   
        "RequestThrottledException" => crate::operation::put_snapshot_block::PutSnapshotBlockError::RequestThrottledError({
          70  +
            /* RustType.kt:516 */
   52     71   
            #[allow(unused_mut)]
   53         -
            let mut tmp = {
   54         -
                #[allow(unused_mut)]
   55         -
                let mut output = crate::types::error::builders::RequestThrottledErrorBuilder::default();
   56         -
                output = crate::protocol_serde::shape_request_throttled_exception::de_request_throttled_exception_json_err(_response_body, output)
   57         -
                    .map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
   58         -
                let output = output.meta(generic);
   59         -
                output.build()
   60         -
            };
          72  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          73  +
                /* ProtocolParserGenerator.kt:146 */ {
          74  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          75  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::RequestThrottledErrorBuilder::default();
          76  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_request_throttled_exception::de_request_throttled_exception_json_err(_response_body, output).map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
          77  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          78  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          79  +
                /* ProtocolParserGenerator.kt:146 */}
          80  +
            /* ProtocolParserGenerator.kt:145 */;
          81  +
            /* ProtocolParserGenerator.kt:170 */
   61     82   
            if tmp.message.is_none() {
   62     83   
                tmp.message = _error_message;
   63     84   
            }
          85  +
            /* ProtocolParserGenerator.kt:179 */
   64     86   
            tmp
          87  +
            /* ProtocolParserGenerator.kt:139 */
   65     88   
        }),
          89  +
        /* ProtocolParserGenerator.kt:139 */
   66     90   
        "ResourceNotFoundException" => crate::operation::put_snapshot_block::PutSnapshotBlockError::ResourceNotFoundError({
          91  +
            /* RustType.kt:516 */
   67     92   
            #[allow(unused_mut)]
   68         -
            let mut tmp = {
   69         -
                #[allow(unused_mut)]
   70         -
                let mut output = crate::types::error::builders::ResourceNotFoundErrorBuilder::default();
   71         -
                output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
   72         -
                    .map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
   73         -
                let output = output.meta(generic);
   74         -
                output.build()
   75         -
            };
          93  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          94  +
                /* ProtocolParserGenerator.kt:146 */ {
          95  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          96  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ResourceNotFoundErrorBuilder::default();
          97  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output).map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
          98  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          99  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         100  +
                /* ProtocolParserGenerator.kt:146 */}
         101  +
            /* ProtocolParserGenerator.kt:145 */;
         102  +
            /* ProtocolParserGenerator.kt:170 */
   76    103   
            if tmp.message.is_none() {
   77    104   
                tmp.message = _error_message;
   78    105   
            }
         106  +
            /* ProtocolParserGenerator.kt:179 */
   79    107   
            tmp
         108  +
            /* ProtocolParserGenerator.kt:139 */
   80    109   
        }),
         110  +
        /* ProtocolParserGenerator.kt:139 */
   81    111   
        "ServiceQuotaExceededException" => crate::operation::put_snapshot_block::PutSnapshotBlockError::ServiceQuotaExceededError({
         112  +
            /* RustType.kt:516 */
   82    113   
            #[allow(unused_mut)]
   83         -
            let mut tmp = {
   84         -
                #[allow(unused_mut)]
   85         -
                let mut output = crate::types::error::builders::ServiceQuotaExceededErrorBuilder::default();
   86         -
                output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(
   87         -
                    _response_body,
   88         -
                    output,
   89         -
                )
   90         -
                .map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
   91         -
                let output = output.meta(generic);
   92         -
                output.build()
   93         -
            };
         114  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
         115  +
                /* ProtocolParserGenerator.kt:146 */ {
         116  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
         117  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ServiceQuotaExceededErrorBuilder::default();
         118  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(_response_body, output).map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
         119  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         120  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         121  +
                /* ProtocolParserGenerator.kt:146 */}
         122  +
            /* ProtocolParserGenerator.kt:145 */;
         123  +
            /* ProtocolParserGenerator.kt:170 */
   94    124   
            if tmp.message.is_none() {
   95    125   
                tmp.message = _error_message;
   96    126   
            }
         127  +
            /* ProtocolParserGenerator.kt:179 */
   97    128   
            tmp
         129  +
            /* ProtocolParserGenerator.kt:139 */
   98    130   
        }),
         131  +
        /* ProtocolParserGenerator.kt:139 */
   99    132   
        "ValidationException" => crate::operation::put_snapshot_block::PutSnapshotBlockError::ValidationError({
         133  +
            /* RustType.kt:516 */
  100    134   
            #[allow(unused_mut)]
  101         -
            let mut tmp = {
  102         -
                #[allow(unused_mut)]
  103         -
                let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
  104         -
                output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
  105         -
                    .map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
  106         -
                let output = output.meta(generic);
  107         -
                output.build()
  108         -
            };
         135  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
         136  +
                /* ProtocolParserGenerator.kt:146 */ {
         137  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
         138  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
         139  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output).map_err(crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled)?;
         140  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         141  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         142  +
                /* ProtocolParserGenerator.kt:146 */}
         143  +
            /* ProtocolParserGenerator.kt:145 */;
         144  +
            /* ProtocolParserGenerator.kt:170 */
  109    145   
            if tmp.message.is_none() {
  110    146   
                tmp.message = _error_message;
  111    147   
            }
         148  +
            /* ProtocolParserGenerator.kt:179 */
  112    149   
            tmp
         150  +
            /* ProtocolParserGenerator.kt:139 */
  113    151   
        }),
  114         -
        _ => crate::operation::put_snapshot_block::PutSnapshotBlockError::generic(generic),
         152  +
        /* ProtocolParserGenerator.kt:182 */
         153  +
        _ => crate::operation::put_snapshot_block::PutSnapshotBlockError::generic(generic), /* ProtocolParserGenerator.kt:133 */
  115    154   
    })
         155  +
    /* ProtocolParserGenerator.kt:99 */
  116    156   
}
  117    157   
         158  +
/* RustType.kt:516 */
  118    159   
#[allow(clippy::unnecessary_wraps)]
         160  +
/* ProtocolParserGenerator.kt:71 */
  119    161   
pub fn de_put_snapshot_block_http_response(
  120    162   
    _response_status: u16,
  121    163   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
  122    164   
    _response_body: &[u8],
  123    165   
) -> std::result::Result<crate::operation::put_snapshot_block::PutSnapshotBlockOutput, crate::operation::put_snapshot_block::PutSnapshotBlockError> {
         166  +
    /* ProtocolParserGenerator.kt:77 */
  124    167   
    Ok({
         168  +
        /* RustType.kt:516 */
  125    169   
        #[allow(unused_mut)]
         170  +
        /* ProtocolParserGenerator.kt:240 */
  126    171   
        let mut output = crate::operation::put_snapshot_block::builders::PutSnapshotBlockOutputBuilder::default();
         172  +
        /* ProtocolParserGenerator.kt:267 */
  127    173   
        output = output.set_checksum(
         174  +
            /* ProtocolParserGenerator.kt:302 */
  128    175   
            crate::protocol_serde::shape_put_snapshot_block_output::de_checksum_header(_response_headers).map_err(|_| {
  129    176   
                crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled("Failed to parse Checksum from header `x-amz-Checksum")
  130         -
            })?,
         177  +
            })?, /* ProtocolParserGenerator.kt:267 */
  131    178   
        );
         179  +
        /* ProtocolParserGenerator.kt:267 */
  132    180   
        output = output.set_checksum_algorithm(
         181  +
            /* ProtocolParserGenerator.kt:302 */
  133    182   
            crate::protocol_serde::shape_put_snapshot_block_output::de_checksum_algorithm_header(_response_headers).map_err(|_| {
  134    183   
                crate::operation::put_snapshot_block::PutSnapshotBlockError::unhandled(
  135    184   
                    "Failed to parse ChecksumAlgorithm from header `x-amz-Checksum-Algorithm",
  136    185   
                )
  137         -
            })?,
         186  +
            })?, /* ProtocolParserGenerator.kt:267 */
  138    187   
        );
         188  +
        /* ClientBuilderInstantiator.kt:56 */
  139    189   
        output.build()
         190  +
        /* ProtocolParserGenerator.kt:77 */
  140    191   
    })
         192  +
    /* ProtocolParserGenerator.kt:71 */
  141    193   
}
  142    194   
         195  +
/* HttpBindingGenerator.kt:542 */
  143    196   
pub fn ser_put_snapshot_block_headers(
  144    197   
    input: &crate::operation::put_snapshot_block::PutSnapshotBlockInput,
  145    198   
    mut builder: ::http::request::Builder,
  146    199   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
         200  +
    /* HttpBindingGenerator.kt:592 */
  147    201   
    if let ::std::option::Option::Some(inner_1) = &input.checksum {
         202  +
        /* HttpBindingGenerator.kt:704 */
  148    203   
        let formatted_2 = inner_1.as_str();
         204  +
        /* HttpBindingGenerator.kt:706 */
  149    205   
        let header_value = formatted_2;
  150    206   
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  151    207   
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  152    208   
                "checksum",
  153    209   
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  154    210   
            )
  155    211   
        })?;
  156    212   
        builder = builder.header("x-amz-Checksum", header_value);
         213  +
        /* HttpBindingGenerator.kt:592 */
  157    214   
    }
         215  +
    /* HttpBindingGenerator.kt:592 */
  158    216   
    if let ::std::option::Option::Some(inner_3) = &input.progress {
         217  +
        /* HttpBindingGenerator.kt:690 */
  159    218   
        let mut encoder = ::aws_smithy_types::primitive::Encoder::from(*inner_3);
         219  +
        /* HttpBindingGenerator.kt:704 */
  160    220   
        let formatted_4 = encoder.encode();
         221  +
        /* HttpBindingGenerator.kt:706 */
  161    222   
        let header_value = formatted_4;
  162    223   
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  163    224   
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  164    225   
                "progress",
  165    226   
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  166    227   
            )
  167    228   
        })?;
  168    229   
        builder = builder.header("x-amz-Progress", header_value);
         230  +
        /* HttpBindingGenerator.kt:592 */
  169    231   
    }
         232  +
    /* HttpBindingGenerator.kt:592 */
  170    233   
    if let ::std::option::Option::Some(inner_5) = &input.data_length {
         234  +
        /* HttpBindingGenerator.kt:690 */
  171    235   
        let mut encoder = ::aws_smithy_types::primitive::Encoder::from(*inner_5);
         236  +
        /* HttpBindingGenerator.kt:704 */
  172    237   
        let formatted_6 = encoder.encode();
         238  +
        /* HttpBindingGenerator.kt:706 */
  173    239   
        let header_value = formatted_6;
  174    240   
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  175    241   
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  176    242   
                "data_length",
  177    243   
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  178    244   
            )
  179    245   
        })?;
  180    246   
        builder = builder.header("x-amz-Data-Length", header_value);
         247  +
        /* HttpBindingGenerator.kt:592 */
  181    248   
    }
         249  +
    /* HttpBindingGenerator.kt:592 */
  182    250   
    if let ::std::option::Option::Some(inner_7) = &input.checksum_algorithm {
         251  +
        /* HttpBindingGenerator.kt:704 */
  183    252   
        let formatted_8 = inner_7.as_str();
         253  +
        /* HttpBindingGenerator.kt:706 */
  184    254   
        let header_value = formatted_8;
  185    255   
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
  186    256   
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
  187    257   
                "checksum_algorithm",
  188    258   
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
  189    259   
            )
  190    260   
        })?;
  191    261   
        builder = builder.header("x-amz-Checksum-Algorithm", header_value);
         262  +
        /* HttpBindingGenerator.kt:592 */
  192    263   
    }
         264  +
    /* HttpBindingGenerator.kt:555 */
  193    265   
    Ok(builder)
         266  +
    /* HttpBindingGenerator.kt:542 */
  194    267   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/protocol_serde/shape_put_snapshot_block_input.rs

@@ -1,1 +6,11 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* HttpBoundProtocolPayloadGenerator.kt:311 */
    2      3   
pub fn ser_block_data_http_payload(
    3      4   
    payload: ::aws_smithy_types::byte_stream::ByteStream,
    4      5   
) -> ::std::result::Result<::aws_smithy_types::byte_stream::ByteStream, ::aws_smithy_types::error::operation::BuildError> {
    5         -
    Ok(payload)
           6  +
    /* HttpBoundProtocolPayloadGenerator.kt:345 */
           7  +
    Ok(
           8  +
        /* HttpBoundProtocolPayloadGenerator.kt:374 */ payload, /* HttpBoundProtocolPayloadGenerator.kt:345 */
           9  +
    )
          10  +
    /* HttpBoundProtocolPayloadGenerator.kt:311 */
    6     11   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/protocol_serde/shape_put_snapshot_block_output.rs

@@ -1,1 +14,22 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* HttpBindingGenerator.kt:153 */
    2      3   
pub(crate) fn de_checksum_header(
    3      4   
    header_map: &::aws_smithy_runtime_api::http::Headers,
    4      5   
) -> ::std::result::Result<::std::option::Option<::std::string::String>, ::aws_smithy_http::header::ParseError> {
           6  +
    /* HttpBindingGenerator.kt:160 */
    5      7   
    let headers = header_map.get_all("x-amz-Checksum");
           8  +
    /* HttpBindingGenerator.kt:375 */
    6      9   
    ::aws_smithy_http::header::one_or_none(headers)
          10  +
    /* HttpBindingGenerator.kt:153 */
    7     11   
}
    8     12   
          13  +
/* HttpBindingGenerator.kt:153 */
    9     14   
pub(crate) fn de_checksum_algorithm_header(
   10     15   
    header_map: &::aws_smithy_runtime_api::http::Headers,
   11     16   
) -> ::std::result::Result<::std::option::Option<crate::types::ChecksumAlgorithm>, ::aws_smithy_http::header::ParseError> {
          17  +
    /* HttpBindingGenerator.kt:160 */
   12     18   
    let headers = header_map.get_all("x-amz-Checksum-Algorithm");
          19  +
    /* HttpBindingGenerator.kt:375 */
   13     20   
    ::aws_smithy_http::header::one_or_none(headers)
          21  +
    /* HttpBindingGenerator.kt:153 */
   14     22   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/protocol_serde/shape_request_throttled_exception.rs

@@ -1,1 +43,73 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:148 */
    2      3   
pub(crate) fn de_request_throttled_exception_json_err(
    3      4   
    value: &[u8],
    4      5   
    mut builder: crate::types::error::builders::RequestThrottledErrorBuilder,
    5      6   
) -> ::std::result::Result<crate::types::error::builders::RequestThrottledErrorBuilder, ::aws_smithy_json::deserialize::error::DeserializeError> {
           7  +
    /* JsonParserGenerator.kt:153 */
    6      8   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
    7      9   
    let tokens = &mut tokens_owned;
    8     10   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
          11  +
    /* JsonParserGenerator.kt:684 */
    9     12   
    loop {
          13  +
        /* JsonParserGenerator.kt:685 */
   10     14   
        match tokens.next().transpose()? {
   11         -
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   12         -
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
   13         -
                "Message" => {
   14         -
                    builder = builder.set_message(
   15         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   16         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   17         -
                            .transpose()?,
   18         -
                    );
          15  +
            /* JsonParserGenerator.kt:686 */ Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          16  +
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          17  +
                /* JsonParserGenerator.kt:260 */
          18  +
                match key.to_unescaped()?.as_ref() {
          19  +
                    /* JsonParserGenerator.kt:262 */
          20  +
                    "Message" => {
          21  +
                        /* JsonParserGenerator.kt:265 */
          22  +
                        builder = builder.set_message(
          23  +
                            /* JsonParserGenerator.kt:354 */
          24  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
          25  +
                                .map(|s|
          26  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          27  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
          28  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
          29  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
          30  +
                        );
          31  +
                        /* JsonParserGenerator.kt:262 */
          32  +
                    }
          33  +
                    /* JsonParserGenerator.kt:262 */
          34  +
                    "Reason" => {
          35  +
                        /* JsonParserGenerator.kt:265 */
          36  +
                        builder = builder.set_reason(
          37  +
                            /* JsonParserGenerator.kt:354 */
          38  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
          39  +
                                .map(|s|
          40  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          41  +
                                    /* JsonParserGenerator.kt:345 */crate::types::RequestThrottledExceptionReason::from(u.as_ref())
          42  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
          43  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
          44  +
                        );
          45  +
                        /* JsonParserGenerator.kt:262 */
          46  +
                    }
          47  +
                    /* JsonParserGenerator.kt:290 */
          48  +
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:260 */
   19     49   
                }
   20         -
                "Reason" => {
   21         -
                    builder = builder.set_reason(
   22         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   23         -
                            .map(|s| s.to_unescaped().map(|u| crate::types::RequestThrottledExceptionReason::from(u.as_ref())))
   24         -
                            .transpose()?,
   25         -
                    );
   26         -
                }
   27         -
                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
   28         -
            },
          50  +
                /* JsonParserGenerator.kt:686 */
          51  +
            }
          52  +
            /* JsonParserGenerator.kt:695 */
   29     53   
            other => {
   30     54   
                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   31     55   
                    "expected object key or end object, found: {:?}",
   32     56   
                    other
   33     57   
                )))
   34         -
            }
          58  +
            } /* JsonParserGenerator.kt:685 */
   35     59   
        }
          60  +
        /* JsonParserGenerator.kt:684 */
   36     61   
    }
          62  +
    /* JsonParserGenerator.kt:250 */
   37     63   
    if tokens.next().is_some() {
          64  +
        /* JsonParserGenerator.kt:251 */
   38     65   
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   39     66   
            "found more JSON tokens after completing parsing",
   40     67   
        ));
          68  +
        /* JsonParserGenerator.kt:250 */
   41     69   
    }
          70  +
    /* JsonParserGenerator.kt:163 */
   42     71   
    Ok(builder)
          72  +
    /* JsonParserGenerator.kt:148 */
   43     73   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/protocol_serde/shape_resource_not_found_exception.rs

@@ -1,1 +43,73 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:148 */
    2      3   
pub(crate) fn de_resource_not_found_exception_json_err(
    3      4   
    value: &[u8],
    4      5   
    mut builder: crate::types::error::builders::ResourceNotFoundErrorBuilder,
    5      6   
) -> ::std::result::Result<crate::types::error::builders::ResourceNotFoundErrorBuilder, ::aws_smithy_json::deserialize::error::DeserializeError> {
           7  +
    /* JsonParserGenerator.kt:153 */
    6      8   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
    7      9   
    let tokens = &mut tokens_owned;
    8     10   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
          11  +
    /* JsonParserGenerator.kt:684 */
    9     12   
    loop {
          13  +
        /* JsonParserGenerator.kt:685 */
   10     14   
        match tokens.next().transpose()? {
   11         -
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   12         -
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
   13         -
                "Message" => {
   14         -
                    builder = builder.set_message(
   15         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   16         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   17         -
                            .transpose()?,
   18         -
                    );
          15  +
            /* JsonParserGenerator.kt:686 */ Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          16  +
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          17  +
                /* JsonParserGenerator.kt:260 */
          18  +
                match key.to_unescaped()?.as_ref() {
          19  +
                    /* JsonParserGenerator.kt:262 */
          20  +
                    "Message" => {
          21  +
                        /* JsonParserGenerator.kt:265 */
          22  +
                        builder = builder.set_message(
          23  +
                            /* JsonParserGenerator.kt:354 */
          24  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
          25  +
                                .map(|s|
          26  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          27  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
          28  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
          29  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
          30  +
                        );
          31  +
                        /* JsonParserGenerator.kt:262 */
          32  +
                    }
          33  +
                    /* JsonParserGenerator.kt:262 */
          34  +
                    "Reason" => {
          35  +
                        /* JsonParserGenerator.kt:265 */
          36  +
                        builder = builder.set_reason(
          37  +
                            /* JsonParserGenerator.kt:354 */
          38  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
          39  +
                                .map(|s|
          40  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          41  +
                                    /* JsonParserGenerator.kt:345 */crate::types::ResourceNotFoundExceptionReason::from(u.as_ref())
          42  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
          43  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
          44  +
                        );
          45  +
                        /* JsonParserGenerator.kt:262 */
          46  +
                    }
          47  +
                    /* JsonParserGenerator.kt:290 */
          48  +
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:260 */
   19     49   
                }
   20         -
                "Reason" => {
   21         -
                    builder = builder.set_reason(
   22         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   23         -
                            .map(|s| s.to_unescaped().map(|u| crate::types::ResourceNotFoundExceptionReason::from(u.as_ref())))
   24         -
                            .transpose()?,
   25         -
                    );
   26         -
                }
   27         -
                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
   28         -
            },
          50  +
                /* JsonParserGenerator.kt:686 */
          51  +
            }
          52  +
            /* JsonParserGenerator.kt:695 */
   29     53   
            other => {
   30     54   
                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   31     55   
                    "expected object key or end object, found: {:?}",
   32     56   
                    other
   33     57   
                )))
   34         -
            }
          58  +
            } /* JsonParserGenerator.kt:685 */
   35     59   
        }
          60  +
        /* JsonParserGenerator.kt:684 */
   36     61   
    }
          62  +
    /* JsonParserGenerator.kt:250 */
   37     63   
    if tokens.next().is_some() {
          64  +
        /* JsonParserGenerator.kt:251 */
   38     65   
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   39     66   
            "found more JSON tokens after completing parsing",
   40     67   
        ));
          68  +
        /* JsonParserGenerator.kt:250 */
   41     69   
    }
          70  +
    /* JsonParserGenerator.kt:163 */
   42     71   
    Ok(builder)
          72  +
    /* JsonParserGenerator.kt:148 */
   43     73   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/protocol_serde/shape_service_quota_exceeded_exception.rs

@@ -1,1 +46,73 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:148 */
    2      3   
pub(crate) fn de_service_quota_exceeded_exception_json_err(
    3      4   
    value: &[u8],
    4      5   
    mut builder: crate::types::error::builders::ServiceQuotaExceededErrorBuilder,
    5      6   
) -> ::std::result::Result<crate::types::error::builders::ServiceQuotaExceededErrorBuilder, ::aws_smithy_json::deserialize::error::DeserializeError> {
           7  +
    /* JsonParserGenerator.kt:153 */
    6      8   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
    7      9   
    let tokens = &mut tokens_owned;
    8     10   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
          11  +
    /* JsonParserGenerator.kt:684 */
    9     12   
    loop {
          13  +
        /* JsonParserGenerator.kt:685 */
   10     14   
        match tokens.next().transpose()? {
   11         -
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   12         -
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
   13         -
                "Reason" => {
   14         -
                    builder = builder.set_reason(
   15         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   16         -
                            .map(|s| {
   17         -
                                s.to_unescaped()
   18         -
                                    .map(|u| crate::types::ServiceQuotaExceededExceptionReason::from(u.as_ref()))
   19         -
                            })
   20         -
                            .transpose()?,
   21         -
                    );
          15  +
            /* JsonParserGenerator.kt:686 */ Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          16  +
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          17  +
                /* JsonParserGenerator.kt:260 */
          18  +
                match key.to_unescaped()?.as_ref() {
          19  +
                    /* JsonParserGenerator.kt:262 */
          20  +
                    "Reason" => {
          21  +
                        /* JsonParserGenerator.kt:265 */
          22  +
                        builder = builder.set_reason(
          23  +
                            /* JsonParserGenerator.kt:354 */
          24  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
          25  +
                                .map(|s|
          26  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          27  +
                                    /* JsonParserGenerator.kt:345 */crate::types::ServiceQuotaExceededExceptionReason::from(u.as_ref())
          28  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
          29  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
          30  +
                        );
          31  +
                        /* JsonParserGenerator.kt:262 */
          32  +
                    }
          33  +
                    /* JsonParserGenerator.kt:262 */
          34  +
                    "Message" => {
          35  +
                        /* JsonParserGenerator.kt:265 */
          36  +
                        builder = builder.set_message(
          37  +
                            /* JsonParserGenerator.kt:354 */
          38  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
          39  +
                                .map(|s|
          40  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          41  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
          42  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
          43  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
          44  +
                        );
          45  +
                        /* JsonParserGenerator.kt:262 */
          46  +
                    }
          47  +
                    /* JsonParserGenerator.kt:290 */
          48  +
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:260 */
   22     49   
                }
   23         -
                "Message" => {
   24         -
                    builder = builder.set_message(
   25         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   26         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   27         -
                            .transpose()?,
   28         -
                    );
   29         -
                }
   30         -
                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
   31         -
            },
          50  +
                /* JsonParserGenerator.kt:686 */
          51  +
            }
          52  +
            /* JsonParserGenerator.kt:695 */
   32     53   
            other => {
   33     54   
                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   34     55   
                    "expected object key or end object, found: {:?}",
   35     56   
                    other
   36     57   
                )))
   37         -
            }
          58  +
            } /* JsonParserGenerator.kt:685 */
   38     59   
        }
          60  +
        /* JsonParserGenerator.kt:684 */
   39     61   
    }
          62  +
    /* JsonParserGenerator.kt:250 */
   40     63   
    if tokens.next().is_some() {
          64  +
        /* JsonParserGenerator.kt:251 */
   41     65   
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   42     66   
            "found more JSON tokens after completing parsing",
   43     67   
        ));
          68  +
        /* JsonParserGenerator.kt:250 */
   44     69   
    }
          70  +
    /* JsonParserGenerator.kt:163 */
   45     71   
    Ok(builder)
          72  +
    /* JsonParserGenerator.kt:148 */
   46     73   
}

tmp-codegen-diff/codegen-client-test/ebs/rust-client-codegen/src/protocol_serde/shape_start_snapshot.rs

@@ -1,1 +271,414 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_start_snapshot_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::start_snapshot::StartSnapshotOutput, crate::operation::start_snapshot::StartSnapshotError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:122 */
   12     18   
    let error_code = match generic.code() {
   13     19   
        Some(code) => code,
   14     20   
        None => return Err(crate::operation::start_snapshot::StartSnapshotError::unhandled(generic)),
   15     21   
    };
   16     22   
   17     23   
    let _error_message = generic.message().map(|msg| msg.to_owned());
          24  +
    /* ProtocolParserGenerator.kt:133 */
   18     25   
    Err(match error_code {
          26  +
        /* ProtocolParserGenerator.kt:139 */
   19     27   
        "AccessDeniedException" => crate::operation::start_snapshot::StartSnapshotError::AccessDeniedError({
          28  +
            /* RustType.kt:516 */
   20     29   
            #[allow(unused_mut)]
   21         -
            let mut tmp = {
   22         -
                #[allow(unused_mut)]
   23         -
                let mut output = crate::types::error::builders::AccessDeniedErrorBuilder::default();
   24         -
                output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
   25         -
                    .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
   26         -
                let output = output.meta(generic);
   27         -
                crate::serde_util::access_denied_exception_correct_errors(output)
   28         -
                    .build()
   29         -
                    .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?
   30         -
            };
          30  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          31  +
                /* ProtocolParserGenerator.kt:146 */ {
          32  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          33  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::AccessDeniedErrorBuilder::default();
          34  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output).map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
          35  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          36  +
                    /* ClientBuilderInstantiator.kt:46 */crate::serde_util::access_denied_exception_correct_errors(output).build().map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?
          37  +
                /* ProtocolParserGenerator.kt:146 */}
          38  +
            /* ProtocolParserGenerator.kt:145 */;
          39  +
            /* ProtocolParserGenerator.kt:170 */
   31     40   
            if tmp.message.is_none() {
   32     41   
                tmp.message = _error_message;
   33     42   
            }
          43  +
            /* ProtocolParserGenerator.kt:179 */
   34     44   
            tmp
          45  +
            /* ProtocolParserGenerator.kt:139 */
   35     46   
        }),
          47  +
        /* ProtocolParserGenerator.kt:139 */
   36     48   
        "ConcurrentLimitExceededException" => crate::operation::start_snapshot::StartSnapshotError::ConcurrentLimitExceededError({
          49  +
            /* RustType.kt:516 */
   37     50   
            #[allow(unused_mut)]
   38         -
            let mut tmp = {
   39         -
                #[allow(unused_mut)]
   40         -
                let mut output = crate::types::error::builders::ConcurrentLimitExceededErrorBuilder::default();
   41         -
                output = crate::protocol_serde::shape_concurrent_limit_exceeded_exception::de_concurrent_limit_exceeded_exception_json_err(
   42         -
                    _response_body,
   43         -
                    output,
   44         -
                )
   45         -
                .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
   46         -
                let output = output.meta(generic);
   47         -
                output.build()
   48         -
            };
          51  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          52  +
                /* ProtocolParserGenerator.kt:146 */ {
          53  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          54  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ConcurrentLimitExceededErrorBuilder::default();
          55  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_concurrent_limit_exceeded_exception::de_concurrent_limit_exceeded_exception_json_err(_response_body, output).map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
          56  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          57  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          58  +
                /* ProtocolParserGenerator.kt:146 */}
          59  +
            /* ProtocolParserGenerator.kt:145 */;
          60  +
            /* ProtocolParserGenerator.kt:170 */
   49     61   
            if tmp.message.is_none() {
   50     62   
                tmp.message = _error_message;
   51     63   
            }
          64  +
            /* ProtocolParserGenerator.kt:179 */
   52     65   
            tmp
          66  +
            /* ProtocolParserGenerator.kt:139 */
   53     67   
        }),
          68  +
        /* ProtocolParserGenerator.kt:139 */
   54     69   
        "ConflictException" => crate::operation::start_snapshot::StartSnapshotError::ConflictError({
          70  +
            /* RustType.kt:516 */
   55     71   
            #[allow(unused_mut)]
   56         -
            let mut tmp = {
   57         -
                #[allow(unused_mut)]
   58         -
                let mut output = crate::types::error::builders::ConflictErrorBuilder::default();
   59         -
                output = crate::protocol_serde::shape_conflict_exception::de_conflict_exception_json_err(_response_body, output)
   60         -
                    .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
   61         -
                let output = output.meta(generic);
   62         -
                output.build()
   63         -
            };
          72  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          73  +
                /* ProtocolParserGenerator.kt:146 */ {
          74  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          75  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ConflictErrorBuilder::default();
          76  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_conflict_exception::de_conflict_exception_json_err(_response_body, output).map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
          77  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          78  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          79  +
                /* ProtocolParserGenerator.kt:146 */}
          80  +
            /* ProtocolParserGenerator.kt:145 */;
          81  +
            /* ProtocolParserGenerator.kt:170 */
   64     82   
            if tmp.message.is_none() {
   65     83   
                tmp.message = _error_message;
   66     84   
            }
          85  +
            /* ProtocolParserGenerator.kt:179 */
   67     86   
            tmp
          87  +
            /* ProtocolParserGenerator.kt:139 */
   68     88   
        }),
          89  +
        /* ProtocolParserGenerator.kt:139 */
   69     90   
        "InternalServerException" => crate::operation::start_snapshot::StartSnapshotError::InternalServerError({
          91  +
            /* RustType.kt:516 */
   70     92   
            #[allow(unused_mut)]
   71         -
            let mut tmp = {
   72         -
                #[allow(unused_mut)]
   73         -
                let mut output = crate::types::error::builders::InternalServerErrorBuilder::default();
   74         -
                output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output)
   75         -
                    .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
   76         -
                let output = output.meta(generic);
   77         -
                output.build()
   78         -
            };
          93  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          94  +
                /* ProtocolParserGenerator.kt:146 */ {
          95  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          96  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::InternalServerErrorBuilder::default();
          97  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output).map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
          98  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          99  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         100  +
                /* ProtocolParserGenerator.kt:146 */}
         101  +
            /* ProtocolParserGenerator.kt:145 */;
         102  +
            /* ProtocolParserGenerator.kt:170 */
   79    103   
            if tmp.message.is_none() {
   80    104   
                tmp.message = _error_message;
   81    105   
            }
         106  +
            /* ProtocolParserGenerator.kt:179 */
   82    107   
            tmp
         108  +
            /* ProtocolParserGenerator.kt:139 */
   83    109   
        }),
         110  +
        /* ProtocolParserGenerator.kt:139 */
   84    111   
        "RequestThrottledException" => crate::operation::start_snapshot::StartSnapshotError::RequestThrottledError({
         112  +
            /* RustType.kt:516 */
   85    113   
            #[allow(unused_mut)]
   86         -
            let mut tmp = {
   87         -
                #[allow(unused_mut)]
   88         -
                let mut output = crate::types::error::builders::RequestThrottledErrorBuilder::default();
   89         -
                output = crate::protocol_serde::shape_request_throttled_exception::de_request_throttled_exception_json_err(_response_body, output)
   90         -
                    .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
   91         -
                let output = output.meta(generic);
   92         -
                output.build()
   93         -
            };
         114  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
         115  +
                /* ProtocolParserGenerator.kt:146 */ {
         116  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
         117  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::RequestThrottledErrorBuilder::default();
         118  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_request_throttled_exception::de_request_throttled_exception_json_err(_response_body, output).map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
         119  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         120  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         121  +
                /* ProtocolParserGenerator.kt:146 */}
         122  +
            /* ProtocolParserGenerator.kt:145 */;
         123  +
            /* ProtocolParserGenerator.kt:170 */
   94    124   
            if tmp.message.is_none() {
   95    125   
                tmp.message = _error_message;
   96    126   
            }
         127  +
            /* ProtocolParserGenerator.kt:179 */
   97    128   
            tmp
         129  +
            /* ProtocolParserGenerator.kt:139 */
   98    130   
        }),
         131  +
        /* ProtocolParserGenerator.kt:139 */
   99    132   
        "ResourceNotFoundException" => crate::operation::start_snapshot::StartSnapshotError::ResourceNotFoundError({
         133  +
            /* RustType.kt:516 */
  100    134   
            #[allow(unused_mut)]
  101         -
            let mut tmp = {
  102         -
                #[allow(unused_mut)]
  103         -
                let mut output = crate::types::error::builders::ResourceNotFoundErrorBuilder::default();
  104         -
                output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
  105         -
                    .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
  106         -
                let output = output.meta(generic);
  107         -
                output.build()
  108         -
            };
         135  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
         136  +
                /* ProtocolParserGenerator.kt:146 */ {
         137  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
         138  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ResourceNotFoundErrorBuilder::default();
         139  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output).map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
         140  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         141  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         142  +
                /* ProtocolParserGenerator.kt:146 */}
         143  +
            /* ProtocolParserGenerator.kt:145 */;
         144  +
            /* ProtocolParserGenerator.kt:170 */
  109    145   
            if tmp.message.is_none() {
  110    146   
                tmp.message = _error_message;
  111    147   
            }
         148  +
            /* ProtocolParserGenerator.kt:179 */
  112    149   
            tmp
         150  +
            /* ProtocolParserGenerator.kt:139 */
  113    151   
        }),
         152  +
        /* ProtocolParserGenerator.kt:139 */
  114    153   
        "ServiceQuotaExceededException" => crate::operation::start_snapshot::StartSnapshotError::ServiceQuotaExceededError({
         154  +
            /* RustType.kt:516 */
  115    155   
            #[allow(unused_mut)]
  116         -
            let mut tmp = {
  117         -
                #[allow(unused_mut)]
  118         -
                let mut output = crate::types::error::builders::ServiceQuotaExceededErrorBuilder::default();
  119         -
                output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(
  120         -
                    _response_body,
  121         -
                    output,
  122         -
                )
  123         -
                .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
  124         -
                let output = output.meta(generic);
  125         -
                output.build()
  126         -
            };
         156  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
         157  +
                /* ProtocolParserGenerator.kt:146 */ {
         158  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
         159  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ServiceQuotaExceededErrorBuilder::default();
         160  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_service_quota_exceeded_exception::de_service_quota_exceeded_exception_json_err(_response_body, output).map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
         161  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         162  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         163  +
                /* ProtocolParserGenerator.kt:146 */}
         164  +
            /* ProtocolParserGenerator.kt:145 */;
         165  +
            /* ProtocolParserGenerator.kt:170 */
  127    166   
            if tmp.message.is_none() {
  128    167   
                tmp.message = _error_message;
  129    168   
            }
         169  +
            /* ProtocolParserGenerator.kt:179 */
  130    170   
            tmp
         171  +
            /* ProtocolParserGenerator.kt:139 */
  131    172   
        }),
         173  +
        /* ProtocolParserGenerator.kt:139 */
  132    174   
        "ValidationException" => crate::operation::start_snapshot::StartSnapshotError::ValidationError({
         175  +
            /* RustType.kt:516 */
  133    176   
            #[allow(unused_mut)]
  134         -
            let mut tmp = {
  135         -
                #[allow(unused_mut)]
  136         -
                let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
  137         -
                output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
  138         -
                    .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
  139         -
                let output = output.meta(generic);
  140         -
                output.build()
  141         -
            };
         177  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
         178  +
                /* ProtocolParserGenerator.kt:146 */ {
         179  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
         180  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
         181  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output).map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
         182  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
         183  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
         184  +
                /* ProtocolParserGenerator.kt:146 */}
         185  +
            /* ProtocolParserGenerator.kt:145 */;
         186  +
            /* ProtocolParserGenerator.kt:170 */
  142    187   
            if tmp.message.is_none() {
  143    188   
                tmp.message = _error_message;
  144    189   
            }
         190  +
            /* ProtocolParserGenerator.kt:179 */
  145    191   
            tmp
         192  +
            /* ProtocolParserGenerator.kt:139 */
  146    193   
        }),
  147         -
        _ => crate::operation::start_snapshot::StartSnapshotError::generic(generic),
         194  +
        /* ProtocolParserGenerator.kt:182 */
         195  +
        _ => crate::operation::start_snapshot::StartSnapshotError::generic(generic), /* ProtocolParserGenerator.kt:133 */
  148    196   
    })
         197  +
    /* ProtocolParserGenerator.kt:99 */
  149    198   
}
  150    199   
         200  +
/* RustType.kt:516 */
  151    201   
#[allow(clippy::unnecessary_wraps)]
         202  +
/* ProtocolParserGenerator.kt:71 */
  152    203   
pub fn de_start_snapshot_http_response(
  153    204   
    _response_status: u16,
  154    205   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
  155    206   
    _response_body: &[u8],
  156    207   
) -> std::result::Result<crate::operation::start_snapshot::StartSnapshotOutput, crate::operation::start_snapshot::StartSnapshotError> {
         208  +
    /* ProtocolParserGenerator.kt:77 */
  157    209   
    Ok({
         210  +
        /* RustType.kt:516 */
  158    211   
        #[allow(unused_mut)]
         212  +
        /* ProtocolParserGenerator.kt:240 */
  159    213   
        let mut output = crate::operation::start_snapshot::builders::StartSnapshotOutputBuilder::default();
         214  +
        /* ProtocolParserGenerator.kt:247 */
  160    215   
        output = crate::protocol_serde::shape_start_snapshot::de_start_snapshot(_response_body, output)
  161    216   
            .map_err(crate::operation::start_snapshot::StartSnapshotError::unhandled)?;
         217  +
        /* ClientBuilderInstantiator.kt:56 */
  162    218   
        output.build()
         219  +
        /* ProtocolParserGenerator.kt:77 */
  163    220   
    })
         221  +
    /* ProtocolParserGenerator.kt:71 */
  164    222   
}
  165    223   
         224  +
/* JsonSerializerGenerator.kt:287 */
  166    225   
pub fn ser_start_snapshot_input(
  167    226   
    input: &crate::operation::start_snapshot::StartSnapshotInput,
  168    227   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
         228  +
    /* JsonSerializerGenerator.kt:291 */
  169    229   
    let mut out = String::new();
         230  +
    /* JsonSerializerGenerator.kt:292 */
  170    231   
    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
         232  +
    /* JsonSerializerGenerator.kt:375 */
  171    233   
    crate::protocol_serde::shape_start_snapshot_input::ser_start_snapshot_input_input(&mut object, input)?;
         234  +
    /* JsonSerializerGenerator.kt:295 */
  172    235   
    object.finish();
         236  +
    /* JsonSerializerGenerator.kt:296 */
  173    237   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
         238  +
    /* JsonSerializerGenerator.kt:287 */
  174    239   
}
  175    240   
         241  +
/* JsonParserGenerator.kt:148 */
  176    242   
pub(crate) fn de_start_snapshot(
  177    243   
    value: &[u8],
  178    244   
    mut builder: crate::operation::start_snapshot::builders::StartSnapshotOutputBuilder,
  179    245   
) -> ::std::result::Result<
  180    246   
    crate::operation::start_snapshot::builders::StartSnapshotOutputBuilder,
  181    247   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  182    248   
> {
         249  +
    /* JsonParserGenerator.kt:153 */
  183    250   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(value)).peekable();
  184    251   
    let tokens = &mut tokens_owned;
  185    252   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
         253  +
    /* JsonParserGenerator.kt:684 */
  186    254   
    loop {
         255  +
        /* JsonParserGenerator.kt:685 */
  187    256   
        match tokens.next().transpose()? {
  188         -
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  189         -
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
  190         -
                "BlockSize" => {
  191         -
                    builder = builder.set_block_size(
  192         -
                        ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
  193         -
                            .map(i32::try_from)
  194         -
                            .transpose()?,
  195         -
                    );
         257  +
            /* JsonParserGenerator.kt:686 */ Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
         258  +
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
         259  +
                /* JsonParserGenerator.kt:260 */
         260  +
                match key.to_unescaped()?.as_ref() {
         261  +
                    /* JsonParserGenerator.kt:262 */
         262  +
                    "BlockSize" => {
         263  +
                        /* JsonParserGenerator.kt:265 */
         264  +
                        builder = builder.set_block_size(
         265  +
                            /* JsonParserGenerator.kt:365 */
         266  +
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         267  +
                                .map(i32::try_from)
         268  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         269  +
                        );
         270  +
                        /* JsonParserGenerator.kt:262 */
         271  +
                    }
         272  +
                    /* JsonParserGenerator.kt:262 */
         273  +
                    "Description" => {
         274  +
                        /* JsonParserGenerator.kt:265 */
         275  +
                        builder = builder.set_description(
         276  +
                            /* JsonParserGenerator.kt:354 */
         277  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
         278  +
                                .map(|s|
         279  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         280  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
         281  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
         282  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         283  +
                        );
         284  +
                        /* JsonParserGenerator.kt:262 */
         285  +
                    }
         286  +
                    /* JsonParserGenerator.kt:262 */
         287  +
                    "KmsKeyArn" => {
         288  +
                        /* JsonParserGenerator.kt:265 */
         289  +
                        builder = builder.set_kms_key_arn(
         290  +
                            /* JsonParserGenerator.kt:354 */
         291  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
         292  +
                                .map(|s|
         293  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         294  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
         295  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
         296  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         297  +
                        );
         298  +
                        /* JsonParserGenerator.kt:262 */
         299  +
                    }
         300  +
                    /* JsonParserGenerator.kt:262 */
         301  +
                    "OwnerId" => {
         302  +
                        /* JsonParserGenerator.kt:265 */
         303  +
                        builder = builder.set_owner_id(
         304  +
                            /* JsonParserGenerator.kt:354 */
         305  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
         306  +
                                .map(|s|
         307  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         308  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
         309  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
         310  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         311  +
                        );
         312  +
                        /* JsonParserGenerator.kt:262 */
         313  +
                    }
         314  +
                    /* JsonParserGenerator.kt:262 */
         315  +
                    "ParentSnapshotId" => {
         316  +
                        /* JsonParserGenerator.kt:265 */
         317  +
                        builder = builder.set_parent_snapshot_id(
         318  +
                            /* JsonParserGenerator.kt:354 */
         319  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
         320  +
                                .map(|s|
         321  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         322  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
         323  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
         324  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         325  +
                        );
         326  +
                        /* JsonParserGenerator.kt:262 */
         327  +
                    }
         328  +
                    /* JsonParserGenerator.kt:262 */
         329  +
                    "SnapshotId" => {
         330  +
                        /* JsonParserGenerator.kt:265 */
         331  +
                        builder = builder.set_snapshot_id(
         332  +
                            /* JsonParserGenerator.kt:354 */
         333  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
         334  +
                                .map(|s|
         335  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         336  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
         337  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
         338  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         339  +
                        );
         340  +
                        /* JsonParserGenerator.kt:262 */
         341  +
                    }
         342  +
                    /* JsonParserGenerator.kt:262 */
         343  +
                    "StartTime" => {
         344  +
                        /* JsonParserGenerator.kt:265 */
         345  +
                        builder = builder.set_start_time(
         346  +
                            /* JsonParserGenerator.kt:384 */
         347  +
                            ::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
         348  +
                                tokens.next(),
         349  +
                                ::aws_smithy_types::date_time::Format::EpochSeconds,
         350  +
                            )?, /* JsonParserGenerator.kt:265 */
         351  +
                        );
         352  +
                        /* JsonParserGenerator.kt:262 */
         353  +
                    }
         354  +
                    /* JsonParserGenerator.kt:262 */
         355  +
                    "Status" => {
         356  +
                        /* JsonParserGenerator.kt:265 */
         357  +
                        builder = builder.set_status(
         358  +
                            /* JsonParserGenerator.kt:354 */
         359  +
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
         360  +
                                .map(|s|
         361  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         362  +
                                    /* JsonParserGenerator.kt:345 */crate::types::Status::from(u.as_ref())
         363  +
                                /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
         364  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         365  +
                        );
         366  +
                        /* JsonParserGenerator.kt:262 */
         367  +
                    }
         368  +
                    /* JsonParserGenerator.kt:262 */
         369  +
                    "Tags" => {
         370  +
                        /* JsonParserGenerator.kt:265 */
         371  +
                        builder = builder.set_tags(
         372  +
                            /* JsonParserGenerator.kt:451 */
         373  +
                            crate::protocol_serde::shape_tags::de_tags(tokens)?, /* JsonParserGenerator.kt:265 */
         374  +
                        );
         375  +
                        /* JsonParserGenerator.kt:262 */
         376  +
                    }
         377  +
                    /* JsonParserGenerator.kt:262 */
         378  +
                    "VolumeSize" => {
         379  +
                        /* JsonParserGenerator.kt:265 */
         380  +
                        builder = builder.set_volume_size(
         381  +
                            /* JsonParserGenerator.kt:365 */
         382  +
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         383  +
                                .map(i64::try_from)
         384  +
                                .transpose()?, /* JsonParserGenerator.kt:265 */
         385  +
                        );
         386  +
                        /* JsonParserGenerator.kt:262 */
         387  +
                    }
         388  +
                    /* JsonParserGenerator.kt:290 */
         389  +
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:260 */
  196    390   
                }
  197         -
                "Description" => {
  198         -
                    builder = builder.set_description(
  199         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
  200         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
  201         -
                            .transpose()?,
  202         -
                    );
  203         -
                }
  204         -
                "KmsKeyArn" => {
  205         -
                    builder = builder.set_kms_key_arn(
  206         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
  207         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
  208         -
                            .transpose()?,
  209         -
                    );
  210         -
                }
  211         -
                "OwnerId" => {
  212         -
                    builder = builder.set_owner_id(
  213         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
  214         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
  215         -
                            .transpose()?,
  216         -
                    );
  217         -
                }
  218         -
                "ParentSnapshotId" => {
  219         -
                    builder = builder.set_parent_snapshot_id(
  220         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
  221         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
  222         -
                            .transpose()?,
  223         -
                    );
  224         -
                }
  225         -
                "SnapshotId" => {
  226         -
                    builder = builder.set_snapshot_id(
  227         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
  228         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
  229         -
                            .transpose()?,
  230         -
                    );
  231         -
                }
  232         -
                "StartTime" => {
  233         -
                    builder = builder.set_start_time(::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
  234         -
                        tokens.next(),
  235         -
                        ::aws_smithy_types::date_time::Format::EpochSeconds,
  236         -
                    )?);
  237         -
                }
  238         -
                "Status" => {
  239         -
                    builder = builder.set_status(
  240         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
  241         -
                            .map(|s| s.to_unescaped().map(|u| crate::types::Status::from(u.as_ref())))
  242         -
                            .transpose()?,
  243         -
                    );
  244         -
                }
  245         -
                "Tags" => {
  246         -
                    builder = builder.set_tags(crate::protocol_serde::shape_tags::de_tags(tokens)?);
  247         -
                }
  248         -
                "VolumeSize" => {
  249         -
                    builder = builder.set_volume_size(
  250         -
                        ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
  251         -
                            .map(i64::try_from)
  252         -
                            .transpose()?,
  253         -
                    );
  254         -
                }
  255         -
                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
  256         -
            },
         391  +
                /* JsonParserGenerator.kt:686 */
         392  +
            }
         393  +
            /* JsonParserGenerator.kt:695 */
  257    394   
            other => {
  258    395   
                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  259    396   
                    "expected object key or end object, found: {:?}",
  260    397   
                    other
  261    398   
                )))
  262         -
            }
         399  +
            } /* JsonParserGenerator.kt:685 */
  263    400   
        }
         401  +
        /* JsonParserGenerator.kt:684 */
  264    402   
    }
         403  +
    /* JsonParserGenerator.kt:250 */
  265    404   
    if tokens.next().is_some() {
         405  +
        /* JsonParserGenerator.kt:251 */
  266    406   
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
  267    407   
            "found more JSON tokens after completing parsing",
  268    408   
        ));
         409  +
        /* JsonParserGenerator.kt:250 */
  269    410   
    }
         411  +
    /* JsonParserGenerator.kt:163 */
  270    412   
    Ok(builder)
         413  +
    /* JsonParserGenerator.kt:148 */
  271    414   
}