Server Test Python

Server Test Python

rev. d838bf488731ae5e751cce0fe13f339a5b9be858 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test-python/json_rpc11/rust-server-codegen-python/src/operation.rs

@@ -1,1 +1764,1764 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
::pin_project_lite::pin_project! {
    3      3   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
    4         -
    /// [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput) using modelled bindings.
    5         -
    pub struct ContentTypeParametersInputFuture {
    6         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::ContentTypeParametersInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
           4  +
    /// [`EmptyOperationInput`](crate::input::EmptyOperationInput) using modelled bindings.
           5  +
    pub struct EmptyOperationInputFuture {
           6  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EmptyOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
    7      7   
    }
    8      8   
}
    9      9   
   10         -
impl std::future::Future for ContentTypeParametersInputFuture {
          10  +
impl std::future::Future for EmptyOperationInputFuture {
   11     11   
    type Output = Result<
   12         -
        crate::input::ContentTypeParametersInput,
          12  +
        crate::input::EmptyOperationInput,
   13     13   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
   14     14   
    >;
   15     15   
   16     16   
    fn poll(
   17     17   
        self: std::pin::Pin<&mut Self>,
   18     18   
        cx: &mut std::task::Context<'_>,
   19     19   
    ) -> std::task::Poll<Self::Output> {
   20     20   
        let this = self.project();
   21     21   
        this.inner.as_mut().poll(cx)
   22     22   
    }
   23     23   
}
   24     24   
   25     25   
impl<B>
   26     26   
    ::aws_smithy_legacy_http_server::request::FromRequest<
   27     27   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
   28     28   
        B,
   29         -
    > for crate::input::ContentTypeParametersInput
          29  +
    > for crate::input::EmptyOperationInput
   30     30   
where
   31     31   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   32     32   
    B: 'static,
   33     33   
   34     34   
    B::Data: Send,
   35     35   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
   36     36   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
   37     37   
{
   38     38   
    type Rejection =
   39     39   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
   40         -
    type Future = ContentTypeParametersInputFuture;
          40  +
    type Future = EmptyOperationInputFuture;
   41     41   
   42     42   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
   47     47   
            ) {
   48     48   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
   49     49   
            }
   50         -
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
          50  +
            crate::protocol_serde::shape_empty_operation::de_empty_operation_http_request(request)
   51     51   
                .await
   52     52   
        };
   53     53   
        use ::futures_util::future::TryFutureExt;
   54     54   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
   55     55   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
   56     56   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
   57     57   
                    });
   58         -
        ContentTypeParametersInputFuture {
          58  +
        EmptyOperationInputFuture {
   59     59   
            inner: Box::pin(fut),
   60     60   
        }
   61     61   
    }
   62     62   
}
   63     63   
impl
   64     64   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
   65     65   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
   66         -
    > for crate::output::ContentTypeParametersOutput
          66  +
    > for crate::output::EmptyOperationOutput
   67     67   
{
   68     68   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
   69         -
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_response(self) {
          69  +
        match crate::protocol_serde::shape_empty_operation::ser_empty_operation_http_response(self)
          70  +
        {
   70     71   
            Ok(response) => response,
   71     72   
            Err(e) => {
   72     73   
                ::tracing::error!(error = %e, "failed to serialize response");
   73     74   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
   74     75   
            }
   75     76   
        }
   76     77   
    }
   77     78   
}
   78     79   
impl
   79     80   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
   80     81   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
   81         -
    > for crate::error::ContentTypeParametersError
          82  +
    > for crate::error::EmptyOperationError
   82     83   
{
   83     84   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
   84         -
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_error(&self) {
          85  +
        match crate::protocol_serde::shape_empty_operation::ser_empty_operation_http_error(&self) {
   85     86   
            Ok(mut response) => {
   86         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
          87  +
                response.extensions_mut().insert(
          88  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
          89  +
                        self.name(),
          90  +
                    ),
          91  +
                );
   87     92   
                response
   88         -
            },
          93  +
            }
   89     94   
            Err(e) => {
   90     95   
                ::tracing::error!(error = %e, "failed to serialize response");
   91     96   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
   92     97   
            }
   93     98   
        }
   94     99   
    }
   95    100   
}
   96    101   
   97    102   
::pin_project_lite::pin_project! {
   98    103   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
   99         -
    /// [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput) using modelled bindings.
  100         -
    pub struct PutWithContentEncodingInputFuture {
  101         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::PutWithContentEncodingInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         104  +
    /// [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput) using modelled bindings.
         105  +
    pub struct KitchenSinkOperationInputFuture {
         106  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::KitchenSinkOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  102    107   
    }
  103    108   
}
  104    109   
  105         -
impl std::future::Future for PutWithContentEncodingInputFuture {
         110  +
impl std::future::Future for KitchenSinkOperationInputFuture {
  106    111   
    type Output = Result<
  107         -
        crate::input::PutWithContentEncodingInput,
         112  +
        crate::input::KitchenSinkOperationInput,
  108    113   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  109    114   
    >;
  110    115   
  111    116   
    fn poll(
  112    117   
        self: std::pin::Pin<&mut Self>,
  113    118   
        cx: &mut std::task::Context<'_>,
  114    119   
    ) -> std::task::Poll<Self::Output> {
  115    120   
        let this = self.project();
  116    121   
        this.inner.as_mut().poll(cx)
  117    122   
    }
  118    123   
}
  119    124   
  120    125   
impl<B>
  121    126   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  122    127   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  123    128   
        B,
  124         -
    > for crate::input::PutWithContentEncodingInput
         129  +
    > for crate::input::KitchenSinkOperationInput
  125    130   
where
  126    131   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  127    132   
    B: 'static,
  128    133   
  129    134   
    B::Data: Send,
  130    135   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  131    136   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  132    137   
{
  133    138   
    type Rejection =
  134    139   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  135         -
    type Future = PutWithContentEncodingInputFuture;
         140  +
    type Future = KitchenSinkOperationInputFuture;
  136    141   
  137    142   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  138    143   
        let fut = async move {
  139    144   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  140    145   
                request.headers(),
  141    146   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  142    147   
            ) {
  143    148   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  144    149   
            }
  145         -
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
         150  +
            crate::protocol_serde::shape_kitchen_sink_operation::de_kitchen_sink_operation_http_request(request)
  146    151   
                            .await
  147    152   
        };
  148    153   
        use ::futures_util::future::TryFutureExt;
  149    154   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  150    155   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  151    156   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  152    157   
                    });
  153         -
        PutWithContentEncodingInputFuture {
         158  +
        KitchenSinkOperationInputFuture {
  154    159   
            inner: Box::pin(fut),
  155    160   
        }
  156    161   
    }
  157    162   
}
  158    163   
impl
  159    164   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  160    165   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  161         -
    > for crate::output::PutWithContentEncodingOutput
         166  +
    > for crate::output::KitchenSinkOperationOutput
  162    167   
{
  163    168   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  164         -
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_response(self) {
         169  +
        match crate::protocol_serde::shape_kitchen_sink_operation::ser_kitchen_sink_operation_http_response(self) {
  165    170   
                        Ok(response) => response,
  166    171   
                        Err(e) => {
  167    172   
                            ::tracing::error!(error = %e, "failed to serialize response");
  168    173   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  169    174   
                        }
  170    175   
                    }
  171    176   
    }
  172    177   
}
  173    178   
impl
  174    179   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  175    180   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  176         -
    > for crate::error::PutWithContentEncodingError
         181  +
    > for crate::error::KitchenSinkOperationError
  177    182   
{
  178    183   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  179         -
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_error(&self) {
         184  +
        match crate::protocol_serde::shape_kitchen_sink_operation::ser_kitchen_sink_operation_http_error(&self) {
  180    185   
            Ok(mut response) => {
  181    186   
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  182    187   
                response
  183    188   
            },
  184    189   
            Err(e) => {
  185    190   
                ::tracing::error!(error = %e, "failed to serialize response");
  186    191   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  187    192   
            }
  188    193   
        }
  189    194   
    }
  190    195   
}
  191    196   
  192    197   
::pin_project_lite::pin_project! {
  193    198   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  194         -
    /// [`FractionalSecondsInput`](crate::input::FractionalSecondsInput) using modelled bindings.
  195         -
    pub struct FractionalSecondsInputFuture {
  196         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::FractionalSecondsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         199  +
    /// [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput) using modelled bindings.
         200  +
    pub struct SimpleScalarPropertiesInputFuture {
         201  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::SimpleScalarPropertiesInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  197    202   
    }
  198    203   
}
  199    204   
  200         -
impl std::future::Future for FractionalSecondsInputFuture {
         205  +
impl std::future::Future for SimpleScalarPropertiesInputFuture {
  201    206   
    type Output = Result<
  202         -
        crate::input::FractionalSecondsInput,
         207  +
        crate::input::SimpleScalarPropertiesInput,
  203    208   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  204    209   
    >;
  205    210   
  206    211   
    fn poll(
  207    212   
        self: std::pin::Pin<&mut Self>,
  208    213   
        cx: &mut std::task::Context<'_>,
  209    214   
    ) -> std::task::Poll<Self::Output> {
  210    215   
        let this = self.project();
  211    216   
        this.inner.as_mut().poll(cx)
  212    217   
    }
  213    218   
}
  214    219   
  215    220   
impl<B>
  216    221   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  217    222   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  218    223   
        B,
  219         -
    > for crate::input::FractionalSecondsInput
         224  +
    > for crate::input::SimpleScalarPropertiesInput
  220    225   
where
  221    226   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  222    227   
    B: 'static,
  223    228   
  224    229   
    B::Data: Send,
  225    230   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  226    231   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  227    232   
{
  228    233   
    type Rejection =
  229    234   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  230         -
    type Future = FractionalSecondsInputFuture;
         235  +
    type Future = SimpleScalarPropertiesInputFuture;
  231    236   
  232    237   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  233    238   
        let fut = async move {
  234    239   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  235    240   
                request.headers(),
  236    241   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  237    242   
            ) {
  238    243   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  239    244   
            }
  240         -
            crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds_http_request(
  241         -
                request,
  242         -
            )
         245  +
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
  243    246   
                            .await
  244    247   
        };
  245    248   
        use ::futures_util::future::TryFutureExt;
  246    249   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  247    250   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  248    251   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  249    252   
                    });
  250         -
        FractionalSecondsInputFuture {
         253  +
        SimpleScalarPropertiesInputFuture {
  251    254   
            inner: Box::pin(fut),
  252    255   
        }
  253    256   
    }
  254    257   
}
  255    258   
impl
  256    259   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  257    260   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  258         -
    > for crate::output::FractionalSecondsOutput
         261  +
    > for crate::output::SimpleScalarPropertiesOutput
  259    262   
{
  260    263   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  261         -
        match crate::protocol_serde::shape_fractional_seconds::ser_fractional_seconds_http_response(
  262         -
            self,
  263         -
        ) {
         264  +
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_response(self) {
  264    265   
                        Ok(response) => response,
  265    266   
                        Err(e) => {
  266    267   
                            ::tracing::error!(error = %e, "failed to serialize response");
  267    268   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  268    269   
                        }
  269    270   
                    }
  270    271   
    }
  271    272   
}
  272    273   
impl
  273    274   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  274    275   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  275         -
    > for crate::error::FractionalSecondsError
         276  +
    > for crate::error::SimpleScalarPropertiesError
  276    277   
{
  277    278   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  278         -
        match crate::protocol_serde::shape_fractional_seconds::ser_fractional_seconds_http_error(
  279         -
            &self,
  280         -
        ) {
         279  +
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_error(&self) {
  281    280   
            Ok(mut response) => {
  282         -
                response.extensions_mut().insert(
  283         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  284         -
                        self.name(),
  285         -
                    ),
  286         -
                );
         281  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  287    282   
                response
  288         -
            }
         283  +
            },
  289    284   
            Err(e) => {
  290    285   
                ::tracing::error!(error = %e, "failed to serialize response");
  291    286   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  292    287   
            }
  293    288   
        }
  294    289   
    }
  295    290   
}
  296    291   
  297    292   
::pin_project_lite::pin_project! {
  298    293   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  299         -
    /// [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput) using modelled bindings.
  300         -
    pub struct DatetimeOffsetsInputFuture {
  301         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::DatetimeOffsetsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         294  +
    /// [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput) using modelled bindings.
         295  +
    pub struct OperationWithOptionalInputOutputInputFuture {
         296  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::OperationWithOptionalInputOutputInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  302    297   
    }
  303    298   
}
  304    299   
  305         -
impl std::future::Future for DatetimeOffsetsInputFuture {
         300  +
impl std::future::Future for OperationWithOptionalInputOutputInputFuture {
  306    301   
    type Output = Result<
  307         -
        crate::input::DatetimeOffsetsInput,
         302  +
        crate::input::OperationWithOptionalInputOutputInput,
  308    303   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  309    304   
    >;
  310    305   
  311    306   
    fn poll(
  312    307   
        self: std::pin::Pin<&mut Self>,
  313    308   
        cx: &mut std::task::Context<'_>,
  314    309   
    ) -> std::task::Poll<Self::Output> {
  315    310   
        let this = self.project();
  316    311   
        this.inner.as_mut().poll(cx)
  317    312   
    }
  318    313   
}
  319    314   
  320    315   
impl<B>
  321    316   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  322    317   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  323    318   
        B,
  324         -
    > for crate::input::DatetimeOffsetsInput
         319  +
    > for crate::input::OperationWithOptionalInputOutputInput
  325    320   
where
  326    321   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  327    322   
    B: 'static,
  328    323   
  329    324   
    B::Data: Send,
  330    325   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  331    326   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  332    327   
{
  333    328   
    type Rejection =
  334    329   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  335         -
    type Future = DatetimeOffsetsInputFuture;
         330  +
    type Future = OperationWithOptionalInputOutputInputFuture;
  336    331   
  337    332   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  338    333   
        let fut = async move {
  339    334   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  340    335   
                request.headers(),
  341    336   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  342    337   
            ) {
  343    338   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  344    339   
            }
  345         -
            crate::protocol_serde::shape_datetime_offsets::de_datetime_offsets_http_request(request)
         340  +
            crate::protocol_serde::shape_operation_with_optional_input_output::de_operation_with_optional_input_output_http_request(request)
  346    341   
                            .await
  347    342   
        };
  348    343   
        use ::futures_util::future::TryFutureExt;
  349    344   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  350    345   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  351    346   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  352    347   
                    });
  353         -
        DatetimeOffsetsInputFuture {
         348  +
        OperationWithOptionalInputOutputInputFuture {
  354    349   
            inner: Box::pin(fut),
  355    350   
        }
  356    351   
    }
  357    352   
}
  358    353   
impl
  359    354   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  360    355   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  361         -
    > for crate::output::DatetimeOffsetsOutput
         356  +
    > for crate::output::OperationWithOptionalInputOutputOutput
  362    357   
{
  363    358   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  364         -
        match crate::protocol_serde::shape_datetime_offsets::ser_datetime_offsets_http_response(
  365         -
            self,
  366         -
        ) {
         359  +
        match crate::protocol_serde::shape_operation_with_optional_input_output::ser_operation_with_optional_input_output_http_response(self) {
  367    360   
                        Ok(response) => response,
  368    361   
                        Err(e) => {
  369    362   
                            ::tracing::error!(error = %e, "failed to serialize response");
  370    363   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  371    364   
                        }
  372    365   
                    }
  373    366   
    }
  374    367   
}
  375    368   
impl
  376    369   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  377    370   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  378         -
    > for crate::error::DatetimeOffsetsError
         371  +
    > for crate::error::OperationWithOptionalInputOutputError
  379    372   
{
  380    373   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  381         -
        match crate::protocol_serde::shape_datetime_offsets::ser_datetime_offsets_http_error(&self)
  382         -
        {
         374  +
        match crate::protocol_serde::shape_operation_with_optional_input_output::ser_operation_with_optional_input_output_http_error(&self) {
  383    375   
            Ok(mut response) => {
  384         -
                response.extensions_mut().insert(
  385         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  386         -
                        self.name(),
  387         -
                    ),
  388         -
                );
         376  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  389    377   
                response
  390         -
            }
         378  +
            },
  391    379   
            Err(e) => {
  392    380   
                ::tracing::error!(error = %e, "failed to serialize response");
  393    381   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  394    382   
            }
  395    383   
        }
  396    384   
    }
  397    385   
}
  398    386   
  399    387   
::pin_project_lite::pin_project! {
  400    388   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  401         -
    /// [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput) using modelled bindings.
  402         -
    pub struct HostWithPathOperationInputFuture {
  403         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::HostWithPathOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         389  +
    /// [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput) using modelled bindings.
         390  +
    pub struct PutAndGetInlineDocumentsInputFuture {
         391  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::PutAndGetInlineDocumentsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  404    392   
    }
  405    393   
}
  406    394   
  407         -
impl std::future::Future for HostWithPathOperationInputFuture {
         395  +
impl std::future::Future for PutAndGetInlineDocumentsInputFuture {
  408    396   
    type Output = Result<
  409         -
        crate::input::HostWithPathOperationInput,
         397  +
        crate::input::PutAndGetInlineDocumentsInput,
  410    398   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  411    399   
    >;
  412    400   
  413    401   
    fn poll(
  414    402   
        self: std::pin::Pin<&mut Self>,
  415    403   
        cx: &mut std::task::Context<'_>,
  416    404   
    ) -> std::task::Poll<Self::Output> {
  417    405   
        let this = self.project();
  418    406   
        this.inner.as_mut().poll(cx)
  419    407   
    }
  420    408   
}
  421    409   
  422    410   
impl<B>
  423    411   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  424    412   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  425    413   
        B,
  426         -
    > for crate::input::HostWithPathOperationInput
         414  +
    > for crate::input::PutAndGetInlineDocumentsInput
  427    415   
where
  428    416   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  429    417   
    B: 'static,
  430    418   
  431    419   
    B::Data: Send,
  432    420   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  433    421   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  434    422   
{
  435    423   
    type Rejection =
  436    424   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  437         -
    type Future = HostWithPathOperationInputFuture;
         425  +
    type Future = PutAndGetInlineDocumentsInputFuture;
  438    426   
  439    427   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  440    428   
        let fut = async move {
  441    429   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  442    430   
                request.headers(),
  443    431   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  444    432   
            ) {
  445    433   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  446    434   
            }
  447         -
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
         435  +
            crate::protocol_serde::shape_put_and_get_inline_documents::de_put_and_get_inline_documents_http_request(request)
  448    436   
                            .await
  449    437   
        };
  450    438   
        use ::futures_util::future::TryFutureExt;
  451    439   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  452    440   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  453    441   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  454    442   
                    });
  455         -
        HostWithPathOperationInputFuture {
         443  +
        PutAndGetInlineDocumentsInputFuture {
  456    444   
            inner: Box::pin(fut),
  457    445   
        }
  458    446   
    }
  459    447   
}
  460    448   
impl
  461    449   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  462    450   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  463         -
    > for crate::output::HostWithPathOperationOutput
         451  +
    > for crate::output::PutAndGetInlineDocumentsOutput
  464    452   
{
  465    453   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  466         -
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_response(self) {
         454  +
        match crate::protocol_serde::shape_put_and_get_inline_documents::ser_put_and_get_inline_documents_http_response(self) {
  467    455   
                        Ok(response) => response,
  468    456   
                        Err(e) => {
  469    457   
                            ::tracing::error!(error = %e, "failed to serialize response");
  470    458   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  471    459   
                        }
  472    460   
                    }
  473    461   
    }
  474    462   
}
  475    463   
impl
  476    464   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  477    465   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  478         -
    > for crate::error::HostWithPathOperationError
         466  +
    > for crate::error::PutAndGetInlineDocumentsError
  479    467   
{
  480    468   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  481         -
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_error(&self) {
         469  +
        match crate::protocol_serde::shape_put_and_get_inline_documents::ser_put_and_get_inline_documents_http_error(&self) {
  482    470   
            Ok(mut response) => {
  483    471   
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  484    472   
                response
  485    473   
            },
  486    474   
            Err(e) => {
  487    475   
                ::tracing::error!(error = %e, "failed to serialize response");
  488    476   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  489    477   
            }
  490    478   
        }
  491    479   
    }
  492    480   
}
  493    481   
  494    482   
::pin_project_lite::pin_project! {
  495    483   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  496         -
    /// [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) using modelled bindings.
  497         -
    pub struct EndpointWithHostLabelOperationInputFuture {
  498         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EndpointWithHostLabelOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         484  +
    /// [`JsonEnumsInput`](crate::input::JsonEnumsInput) using modelled bindings.
         485  +
    pub struct JsonEnumsInputFuture {
         486  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonEnumsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  499    487   
    }
  500    488   
}
  501    489   
  502         -
impl std::future::Future for EndpointWithHostLabelOperationInputFuture {
         490  +
impl std::future::Future for JsonEnumsInputFuture {
  503    491   
    type Output = Result<
  504         -
        crate::input::EndpointWithHostLabelOperationInput,
         492  +
        crate::input::JsonEnumsInput,
  505    493   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  506    494   
    >;
  507    495   
  508    496   
    fn poll(
  509    497   
        self: std::pin::Pin<&mut Self>,
  510    498   
        cx: &mut std::task::Context<'_>,
  511    499   
    ) -> std::task::Poll<Self::Output> {
  512    500   
        let this = self.project();
  513    501   
        this.inner.as_mut().poll(cx)
  514    502   
    }
  515    503   
}
  516    504   
  517    505   
impl<B>
  518    506   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  519    507   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  520    508   
        B,
  521         -
    > for crate::input::EndpointWithHostLabelOperationInput
         509  +
    > for crate::input::JsonEnumsInput
  522    510   
where
  523    511   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  524    512   
    B: 'static,
  525    513   
  526    514   
    B::Data: Send,
  527    515   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  528    516   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  529    517   
{
  530    518   
    type Rejection =
  531    519   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  532         -
    type Future = EndpointWithHostLabelOperationInputFuture;
         520  +
    type Future = JsonEnumsInputFuture;
  533    521   
  534    522   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  535    523   
        let fut = async move {
  536    524   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  537    525   
                request.headers(),
  538    526   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  539    527   
            ) {
  540    528   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  541    529   
            }
  542         -
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
  543         -
                            .await
         530  +
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request).await
  544    531   
        };
  545    532   
        use ::futures_util::future::TryFutureExt;
  546    533   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  547    534   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  548    535   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  549    536   
                    });
  550         -
        EndpointWithHostLabelOperationInputFuture {
         537  +
        JsonEnumsInputFuture {
  551    538   
            inner: Box::pin(fut),
  552    539   
        }
  553    540   
    }
  554    541   
}
  555    542   
impl
  556    543   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  557    544   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  558         -
    > for crate::output::EndpointWithHostLabelOperationOutput
         545  +
    > for crate::output::JsonEnumsOutput
  559    546   
{
  560    547   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  561         -
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_response(self) {
         548  +
        match crate::protocol_serde::shape_json_enums::ser_json_enums_http_response(self) {
  562    549   
            Ok(response) => response,
  563    550   
            Err(e) => {
  564    551   
                ::tracing::error!(error = %e, "failed to serialize response");
  565    552   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  566    553   
            }
  567    554   
        }
  568    555   
    }
  569    556   
}
  570    557   
impl
  571    558   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  572    559   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  573         -
    > for crate::error::EndpointWithHostLabelOperationError
         560  +
    > for crate::error::JsonEnumsError
  574    561   
{
  575    562   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  576         -
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_error(&self) {
         563  +
        match crate::protocol_serde::shape_json_enums::ser_json_enums_http_error(&self) {
  577    564   
            Ok(mut response) => {
  578         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
         565  +
                response.extensions_mut().insert(
         566  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
         567  +
                        self.name(),
         568  +
                    ),
         569  +
                );
  579    570   
                response
  580         -
            },
         571  +
            }
  581    572   
            Err(e) => {
  582    573   
                ::tracing::error!(error = %e, "failed to serialize response");
  583    574   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  584    575   
            }
  585    576   
        }
  586    577   
    }
  587    578   
}
  588    579   
  589    580   
::pin_project_lite::pin_project! {
  590    581   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  591         -
    /// [`EndpointOperationInput`](crate::input::EndpointOperationInput) using modelled bindings.
  592         -
    pub struct EndpointOperationInputFuture {
  593         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EndpointOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         582  +
    /// [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) using modelled bindings.
         583  +
    pub struct JsonIntEnumsInputFuture {
         584  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonIntEnumsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  594    585   
    }
  595    586   
}
  596    587   
  597         -
impl std::future::Future for EndpointOperationInputFuture {
         588  +
impl std::future::Future for JsonIntEnumsInputFuture {
  598    589   
    type Output = Result<
  599         -
        crate::input::EndpointOperationInput,
         590  +
        crate::input::JsonIntEnumsInput,
  600    591   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  601    592   
    >;
  602    593   
  603    594   
    fn poll(
  604    595   
        self: std::pin::Pin<&mut Self>,
  605    596   
        cx: &mut std::task::Context<'_>,
  606    597   
    ) -> std::task::Poll<Self::Output> {
  607    598   
        let this = self.project();
  608    599   
        this.inner.as_mut().poll(cx)
  609    600   
    }
  610    601   
}
  611    602   
  612    603   
impl<B>
  613    604   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  614    605   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  615    606   
        B,
  616         -
    > for crate::input::EndpointOperationInput
         607  +
    > for crate::input::JsonIntEnumsInput
  617    608   
where
  618    609   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  619    610   
    B: 'static,
  620    611   
  621    612   
    B::Data: Send,
  622    613   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  623    614   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  624    615   
{
  625    616   
    type Rejection =
  626    617   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  627         -
    type Future = EndpointOperationInputFuture;
         618  +
    type Future = JsonIntEnumsInputFuture;
  628    619   
  629    620   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  630    621   
        let fut = async move {
  631    622   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  632    623   
                request.headers(),
  633    624   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  634    625   
            ) {
  635    626   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  636    627   
            }
  637         -
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
  638         -
                request,
  639         -
            )
         628  +
            crate::protocol_serde::shape_json_int_enums::de_json_int_enums_http_request(request)
  640    629   
                .await
  641    630   
        };
  642    631   
        use ::futures_util::future::TryFutureExt;
  643    632   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  644    633   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  645    634   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  646    635   
                    });
  647         -
        EndpointOperationInputFuture {
         636  +
        JsonIntEnumsInputFuture {
  648    637   
            inner: Box::pin(fut),
  649    638   
        }
  650    639   
    }
  651    640   
}
  652    641   
impl
  653    642   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  654    643   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  655         -
    > for crate::output::EndpointOperationOutput
         644  +
    > for crate::output::JsonIntEnumsOutput
  656    645   
{
  657    646   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  658         -
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_response(
  659         -
            self,
  660         -
        ) {
         647  +
        match crate::protocol_serde::shape_json_int_enums::ser_json_int_enums_http_response(self) {
  661    648   
            Ok(response) => response,
  662    649   
            Err(e) => {
  663    650   
                ::tracing::error!(error = %e, "failed to serialize response");
  664    651   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  665    652   
            }
  666    653   
        }
  667    654   
    }
  668    655   
}
  669    656   
impl
  670    657   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  671    658   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  672         -
    > for crate::error::EndpointOperationError
         659  +
    > for crate::error::JsonIntEnumsError
  673    660   
{
  674    661   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  675         -
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_error(
  676         -
            &self,
  677         -
        ) {
         662  +
        match crate::protocol_serde::shape_json_int_enums::ser_json_int_enums_http_error(&self) {
  678    663   
            Ok(mut response) => {
  679    664   
                response.extensions_mut().insert(
  680    665   
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  681    666   
                        self.name(),
  682    667   
                    ),
  683    668   
                );
  684    669   
                response
  685    670   
            }
  686    671   
            Err(e) => {
  687    672   
                ::tracing::error!(error = %e, "failed to serialize response");
  688    673   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  689    674   
            }
  690    675   
        }
  691    676   
    }
  692    677   
}
  693    678   
  694    679   
::pin_project_lite::pin_project! {
  695    680   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  696         -
    /// [`JsonUnionsInput`](crate::input::JsonUnionsInput) using modelled bindings.
  697         -
    pub struct JsonUnionsInputFuture {
  698         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonUnionsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         681  +
    /// [`NullOperationInput`](crate::input::NullOperationInput) using modelled bindings.
         682  +
    pub struct NullOperationInputFuture {
         683  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::NullOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  699    684   
    }
  700    685   
}
  701    686   
  702         -
impl std::future::Future for JsonUnionsInputFuture {
         687  +
impl std::future::Future for NullOperationInputFuture {
  703    688   
    type Output = Result<
  704         -
        crate::input::JsonUnionsInput,
         689  +
        crate::input::NullOperationInput,
  705    690   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  706    691   
    >;
  707    692   
  708    693   
    fn poll(
  709    694   
        self: std::pin::Pin<&mut Self>,
  710    695   
        cx: &mut std::task::Context<'_>,
  711    696   
    ) -> std::task::Poll<Self::Output> {
  712    697   
        let this = self.project();
  713    698   
        this.inner.as_mut().poll(cx)
  714    699   
    }
  715    700   
}
  716    701   
  717    702   
impl<B>
  718    703   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  719    704   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  720    705   
        B,
  721         -
    > for crate::input::JsonUnionsInput
         706  +
    > for crate::input::NullOperationInput
  722    707   
where
  723    708   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  724    709   
    B: 'static,
  725    710   
  726    711   
    B::Data: Send,
  727    712   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  728    713   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  729    714   
{
  730    715   
    type Rejection =
  731    716   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  732         -
    type Future = JsonUnionsInputFuture;
         717  +
    type Future = NullOperationInputFuture;
  733    718   
  734    719   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  735    720   
        let fut = async move {
  736    721   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  737    722   
                request.headers(),
  738    723   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  739    724   
            ) {
  740    725   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  741    726   
            }
  742         -
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
         727  +
            crate::protocol_serde::shape_null_operation::de_null_operation_http_request(request)
         728  +
                .await
  743    729   
        };
  744    730   
        use ::futures_util::future::TryFutureExt;
  745    731   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  746    732   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  747    733   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  748    734   
                    });
  749         -
        JsonUnionsInputFuture {
         735  +
        NullOperationInputFuture {
  750    736   
            inner: Box::pin(fut),
  751    737   
        }
  752    738   
    }
  753    739   
}
  754    740   
impl
  755    741   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  756    742   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  757         -
    > for crate::output::JsonUnionsOutput
         743  +
    > for crate::output::NullOperationOutput
  758    744   
{
  759    745   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  760         -
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_response(self) {
         746  +
        match crate::protocol_serde::shape_null_operation::ser_null_operation_http_response(self) {
  761    747   
            Ok(response) => response,
  762    748   
            Err(e) => {
  763    749   
                ::tracing::error!(error = %e, "failed to serialize response");
  764    750   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  765    751   
            }
  766    752   
        }
  767    753   
    }
  768    754   
}
  769    755   
impl
  770    756   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  771    757   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  772         -
    > for crate::error::JsonUnionsError
         758  +
    > for crate::error::NullOperationError
  773    759   
{
  774    760   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  775         -
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_error(&self) {
         761  +
        match crate::protocol_serde::shape_null_operation::ser_null_operation_http_error(&self) {
  776    762   
            Ok(mut response) => {
  777    763   
                response.extensions_mut().insert(
  778    764   
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  779    765   
                        self.name(),
  780    766   
                    ),
  781    767   
                );
  782    768   
                response
  783    769   
            }
  784    770   
            Err(e) => {
  785    771   
                ::tracing::error!(error = %e, "failed to serialize response");
  786    772   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  787    773   
            }
  788    774   
        }
  789    775   
    }
  790    776   
}
  791    777   
  792    778   
::pin_project_lite::pin_project! {
  793    779   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  794         -
    /// [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput) using modelled bindings.
  795         -
    pub struct GreetingWithErrorsInputFuture {
  796         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GreetingWithErrorsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         780  +
    /// [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput) using modelled bindings.
         781  +
    pub struct SparseNullsOperationInputFuture {
         782  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::SparseNullsOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  797    783   
    }
  798    784   
}
  799    785   
  800         -
impl std::future::Future for GreetingWithErrorsInputFuture {
         786  +
impl std::future::Future for SparseNullsOperationInputFuture {
  801    787   
    type Output = Result<
  802         -
        crate::input::GreetingWithErrorsInput,
         788  +
        crate::input::SparseNullsOperationInput,
  803    789   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  804    790   
    >;
  805    791   
  806    792   
    fn poll(
  807    793   
        self: std::pin::Pin<&mut Self>,
  808    794   
        cx: &mut std::task::Context<'_>,
  809    795   
    ) -> std::task::Poll<Self::Output> {
  810    796   
        let this = self.project();
  811    797   
        this.inner.as_mut().poll(cx)
  812    798   
    }
  813    799   
}
  814    800   
  815    801   
impl<B>
  816    802   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  817    803   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  818    804   
        B,
  819         -
    > for crate::input::GreetingWithErrorsInput
         805  +
    > for crate::input::SparseNullsOperationInput
  820    806   
where
  821    807   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  822    808   
    B: 'static,
  823    809   
  824    810   
    B::Data: Send,
  825    811   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  826    812   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  827    813   
{
  828    814   
    type Rejection =
  829    815   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  830         -
    type Future = GreetingWithErrorsInputFuture;
         816  +
    type Future = SparseNullsOperationInputFuture;
  831    817   
  832    818   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  833    819   
        let fut = async move {
  834    820   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  835    821   
                request.headers(),
  836    822   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  837    823   
            ) {
  838    824   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  839    825   
            }
  840         -
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
  841         -
                request,
  842         -
            )
         826  +
            crate::protocol_serde::shape_sparse_nulls_operation::de_sparse_nulls_operation_http_request(request)
  843    827   
                            .await
  844    828   
        };
  845    829   
        use ::futures_util::future::TryFutureExt;
  846    830   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  847    831   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  848    832   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  849    833   
                    });
  850         -
        GreetingWithErrorsInputFuture {
         834  +
        SparseNullsOperationInputFuture {
  851    835   
            inner: Box::pin(fut),
  852    836   
        }
  853    837   
    }
  854    838   
}
  855    839   
impl
  856    840   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  857    841   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  858         -
    > for crate::output::GreetingWithErrorsOutput
         842  +
    > for crate::output::SparseNullsOperationOutput
  859    843   
{
  860    844   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  861         -
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_response(self) {
         845  +
        match crate::protocol_serde::shape_sparse_nulls_operation::ser_sparse_nulls_operation_http_response(self) {
  862    846   
                        Ok(response) => response,
  863    847   
                        Err(e) => {
  864    848   
                            ::tracing::error!(error = %e, "failed to serialize response");
  865    849   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  866    850   
                        }
  867    851   
                    }
  868    852   
    }
  869    853   
}
  870    854   
impl
  871    855   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  872    856   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  873         -
    > for crate::error::GreetingWithErrorsError
         857  +
    > for crate::error::SparseNullsOperationError
  874    858   
{
  875    859   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  876         -
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_error(
  877         -
            &self,
  878         -
        ) {
         860  +
        match crate::protocol_serde::shape_sparse_nulls_operation::ser_sparse_nulls_operation_http_error(&self) {
  879    861   
            Ok(mut response) => {
  880         -
                response.extensions_mut().insert(
  881         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  882         -
                        self.name(),
  883         -
                    ),
  884         -
                );
         862  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  885    863   
                response
  886         -
            }
         864  +
            },
  887    865   
            Err(e) => {
  888    866   
                ::tracing::error!(error = %e, "failed to serialize response");
  889    867   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  890    868   
            }
  891    869   
        }
  892    870   
    }
  893    871   
}
  894    872   
  895    873   
::pin_project_lite::pin_project! {
  896    874   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  897         -
    /// [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput) using modelled bindings.
  898         -
    pub struct SparseNullsOperationInputFuture {
  899         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::SparseNullsOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         875  +
    /// [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput) using modelled bindings.
         876  +
    pub struct GreetingWithErrorsInputFuture {
         877  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GreetingWithErrorsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  900    878   
    }
  901    879   
}
  902    880   
  903         -
impl std::future::Future for SparseNullsOperationInputFuture {
         881  +
impl std::future::Future for GreetingWithErrorsInputFuture {
  904    882   
    type Output = Result<
  905         -
        crate::input::SparseNullsOperationInput,
         883  +
        crate::input::GreetingWithErrorsInput,
  906    884   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  907    885   
    >;
  908    886   
  909    887   
    fn poll(
  910    888   
        self: std::pin::Pin<&mut Self>,
  911    889   
        cx: &mut std::task::Context<'_>,
  912    890   
    ) -> std::task::Poll<Self::Output> {
  913    891   
        let this = self.project();
  914    892   
        this.inner.as_mut().poll(cx)
  915    893   
    }
  916    894   
}
  917    895   
  918    896   
impl<B>
  919    897   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  920    898   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  921    899   
        B,
  922         -
    > for crate::input::SparseNullsOperationInput
         900  +
    > for crate::input::GreetingWithErrorsInput
  923    901   
where
  924    902   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  925    903   
    B: 'static,
  926    904   
  927    905   
    B::Data: Send,
  928    906   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  929    907   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  930    908   
{
  931    909   
    type Rejection =
  932    910   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  933         -
    type Future = SparseNullsOperationInputFuture;
         911  +
    type Future = GreetingWithErrorsInputFuture;
  934    912   
  935    913   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  936    914   
        let fut = async move {
  937    915   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  938    916   
                request.headers(),
  939    917   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  940    918   
            ) {
  941    919   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  942    920   
            }
  943         -
            crate::protocol_serde::shape_sparse_nulls_operation::de_sparse_nulls_operation_http_request(request)
         921  +
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
         922  +
                request,
         923  +
            )
  944    924   
            .await
  945    925   
        };
  946    926   
        use ::futures_util::future::TryFutureExt;
  947    927   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  948    928   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  949    929   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  950    930   
                    });
  951         -
        SparseNullsOperationInputFuture {
         931  +
        GreetingWithErrorsInputFuture {
  952    932   
            inner: Box::pin(fut),
  953    933   
        }
  954    934   
    }
  955    935   
}
  956    936   
impl
  957    937   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  958    938   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  959         -
    > for crate::output::SparseNullsOperationOutput
         939  +
    > for crate::output::GreetingWithErrorsOutput
  960    940   
{
  961    941   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  962         -
        match crate::protocol_serde::shape_sparse_nulls_operation::ser_sparse_nulls_operation_http_response(self) {
         942  +
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_response(self) {
  963    943   
                        Ok(response) => response,
  964    944   
                        Err(e) => {
  965    945   
                            ::tracing::error!(error = %e, "failed to serialize response");
  966    946   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  967    947   
                        }
  968    948   
                    }
  969    949   
    }
  970    950   
}
  971    951   
impl
  972    952   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  973    953   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  974         -
    > for crate::error::SparseNullsOperationError
         954  +
    > for crate::error::GreetingWithErrorsError
  975    955   
{
  976    956   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  977         -
        match crate::protocol_serde::shape_sparse_nulls_operation::ser_sparse_nulls_operation_http_error(&self) {
         957  +
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_error(
         958  +
            &self,
         959  +
        ) {
  978    960   
            Ok(mut response) => {
  979         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
         961  +
                response.extensions_mut().insert(
         962  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
         963  +
                        self.name(),
         964  +
                    ),
         965  +
                );
  980    966   
                response
  981         -
            },
         967  +
            }
  982    968   
            Err(e) => {
  983    969   
                ::tracing::error!(error = %e, "failed to serialize response");
  984    970   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  985    971   
            }
  986    972   
        }
  987    973   
    }
  988    974   
}
  989    975   
  990    976   
::pin_project_lite::pin_project! {
  991         -
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  992         -
    /// [`NullOperationInput`](crate::input::NullOperationInput) using modelled bindings.
  993         -
    pub struct NullOperationInputFuture {
  994         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::NullOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         977  +
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
         978  +
    /// [`JsonUnionsInput`](crate::input::JsonUnionsInput) using modelled bindings.
         979  +
    pub struct JsonUnionsInputFuture {
         980  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonUnionsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  995    981   
    }
  996    982   
}
  997    983   
  998         -
impl std::future::Future for NullOperationInputFuture {
         984  +
impl std::future::Future for JsonUnionsInputFuture {
  999    985   
    type Output = Result<
 1000         -
        crate::input::NullOperationInput,
         986  +
        crate::input::JsonUnionsInput,
 1001    987   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1002    988   
    >;
 1003    989   
 1004    990   
    fn poll(
 1005    991   
        self: std::pin::Pin<&mut Self>,
 1006    992   
        cx: &mut std::task::Context<'_>,
 1007    993   
    ) -> std::task::Poll<Self::Output> {
 1008    994   
        let this = self.project();
 1009    995   
        this.inner.as_mut().poll(cx)
 1010    996   
    }
 1011    997   
}
 1012    998   
 1013    999   
impl<B>
 1014   1000   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1015   1001   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1016   1002   
        B,
 1017         -
    > for crate::input::NullOperationInput
        1003  +
    > for crate::input::JsonUnionsInput
 1018   1004   
where
 1019   1005   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1020   1006   
    B: 'static,
 1021   1007   
 1022   1008   
    B::Data: Send,
 1023   1009   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1024   1010   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1025   1011   
{
 1026   1012   
    type Rejection =
 1027   1013   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1028         -
    type Future = NullOperationInputFuture;
        1014  +
    type Future = JsonUnionsInputFuture;
 1029   1015   
 1030   1016   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1031   1017   
        let fut = async move {
 1032   1018   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1033   1019   
                request.headers(),
 1034   1020   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1035   1021   
            ) {
 1036   1022   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1037   1023   
            }
 1038         -
            crate::protocol_serde::shape_null_operation::de_null_operation_http_request(request)
 1039         -
                .await
        1024  +
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
 1040   1025   
        };
 1041   1026   
        use ::futures_util::future::TryFutureExt;
 1042   1027   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1043   1028   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1044   1029   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1045   1030   
                    });
 1046         -
        NullOperationInputFuture {
        1031  +
        JsonUnionsInputFuture {
 1047   1032   
            inner: Box::pin(fut),
 1048   1033   
        }
 1049   1034   
    }
 1050   1035   
}
 1051   1036   
impl
 1052   1037   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1053   1038   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1054         -
    > for crate::output::NullOperationOutput
        1039  +
    > for crate::output::JsonUnionsOutput
 1055   1040   
{
 1056   1041   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1057         -
        match crate::protocol_serde::shape_null_operation::ser_null_operation_http_response(self) {
        1042  +
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_response(self) {
 1058   1043   
            Ok(response) => response,
 1059   1044   
            Err(e) => {
 1060   1045   
                ::tracing::error!(error = %e, "failed to serialize response");
 1061   1046   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1062   1047   
            }
 1063   1048   
        }
 1064   1049   
    }
 1065   1050   
}
 1066   1051   
impl
 1067   1052   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1068   1053   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1069         -
    > for crate::error::NullOperationError
        1054  +
    > for crate::error::JsonUnionsError
 1070   1055   
{
 1071   1056   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1072         -
        match crate::protocol_serde::shape_null_operation::ser_null_operation_http_error(&self) {
        1057  +
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_error(&self) {
 1073   1058   
            Ok(mut response) => {
 1074   1059   
                response.extensions_mut().insert(
 1075   1060   
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
 1076   1061   
                        self.name(),
 1077   1062   
                    ),
 1078   1063   
                );
 1079   1064   
                response
 1080   1065   
            }
 1081   1066   
            Err(e) => {
 1082   1067   
                ::tracing::error!(error = %e, "failed to serialize response");
 1083   1068   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1084   1069   
            }
 1085   1070   
        }
 1086   1071   
    }
 1087   1072   
}
 1088   1073   
 1089   1074   
::pin_project_lite::pin_project! {
 1090   1075   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1091         -
    /// [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) using modelled bindings.
 1092         -
    pub struct JsonIntEnumsInputFuture {
 1093         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonIntEnumsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1076  +
    /// [`EndpointOperationInput`](crate::input::EndpointOperationInput) using modelled bindings.
        1077  +
    pub struct EndpointOperationInputFuture {
        1078  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EndpointOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1094   1079   
    }
 1095   1080   
}
 1096   1081   
 1097         -
impl std::future::Future for JsonIntEnumsInputFuture {
        1082  +
impl std::future::Future for EndpointOperationInputFuture {
 1098   1083   
    type Output = Result<
 1099         -
        crate::input::JsonIntEnumsInput,
        1084  +
        crate::input::EndpointOperationInput,
 1100   1085   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1101   1086   
    >;
 1102   1087   
 1103   1088   
    fn poll(
 1104   1089   
        self: std::pin::Pin<&mut Self>,
 1105   1090   
        cx: &mut std::task::Context<'_>,
 1106   1091   
    ) -> std::task::Poll<Self::Output> {
 1107   1092   
        let this = self.project();
 1108   1093   
        this.inner.as_mut().poll(cx)
 1109   1094   
    }
 1110   1095   
}
 1111   1096   
 1112   1097   
impl<B>
 1113   1098   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1114   1099   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1115   1100   
        B,
 1116         -
    > for crate::input::JsonIntEnumsInput
        1101  +
    > for crate::input::EndpointOperationInput
 1117   1102   
where
 1118   1103   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1119   1104   
    B: 'static,
 1120   1105   
 1121   1106   
    B::Data: Send,
 1122   1107   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1123   1108   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1124   1109   
{
 1125   1110   
    type Rejection =
 1126   1111   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1127         -
    type Future = JsonIntEnumsInputFuture;
        1112  +
    type Future = EndpointOperationInputFuture;
 1128   1113   
 1129   1114   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1130   1115   
        let fut = async move {
 1131   1116   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1132   1117   
                request.headers(),
 1133   1118   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1134   1119   
            ) {
 1135   1120   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1136   1121   
            }
 1137         -
            crate::protocol_serde::shape_json_int_enums::de_json_int_enums_http_request(request)
        1122  +
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
        1123  +
                request,
        1124  +
            )
 1138   1125   
            .await
 1139   1126   
        };
 1140   1127   
        use ::futures_util::future::TryFutureExt;
 1141   1128   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1142   1129   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1143   1130   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1144   1131   
                    });
 1145         -
        JsonIntEnumsInputFuture {
        1132  +
        EndpointOperationInputFuture {
 1146   1133   
            inner: Box::pin(fut),
 1147   1134   
        }
 1148   1135   
    }
 1149   1136   
}
 1150   1137   
impl
 1151   1138   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1152   1139   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1153         -
    > for crate::output::JsonIntEnumsOutput
        1140  +
    > for crate::output::EndpointOperationOutput
 1154   1141   
{
 1155   1142   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1156         -
        match crate::protocol_serde::shape_json_int_enums::ser_json_int_enums_http_response(self) {
        1143  +
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_response(
        1144  +
            self,
        1145  +
        ) {
 1157   1146   
            Ok(response) => response,
 1158   1147   
            Err(e) => {
 1159   1148   
                ::tracing::error!(error = %e, "failed to serialize response");
 1160   1149   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1161   1150   
            }
 1162   1151   
        }
 1163   1152   
    }
 1164   1153   
}
 1165   1154   
impl
 1166   1155   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1167   1156   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1168         -
    > for crate::error::JsonIntEnumsError
        1157  +
    > for crate::error::EndpointOperationError
 1169   1158   
{
 1170   1159   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1171         -
        match crate::protocol_serde::shape_json_int_enums::ser_json_int_enums_http_error(&self) {
        1160  +
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_error(
        1161  +
            &self,
        1162  +
        ) {
 1172   1163   
            Ok(mut response) => {
 1173   1164   
                response.extensions_mut().insert(
 1174   1165   
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
 1175   1166   
                        self.name(),
 1176   1167   
                    ),
 1177   1168   
                );
 1178   1169   
                response
 1179   1170   
            }
 1180   1171   
            Err(e) => {
 1181   1172   
                ::tracing::error!(error = %e, "failed to serialize response");
 1182   1173   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1183   1174   
            }
 1184   1175   
        }
 1185   1176   
    }
 1186   1177   
}
 1187   1178   
 1188   1179   
::pin_project_lite::pin_project! {
 1189   1180   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1190         -
    /// [`JsonEnumsInput`](crate::input::JsonEnumsInput) using modelled bindings.
 1191         -
    pub struct JsonEnumsInputFuture {
 1192         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonEnumsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1181  +
    /// [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) using modelled bindings.
        1182  +
    pub struct EndpointWithHostLabelOperationInputFuture {
        1183  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EndpointWithHostLabelOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1193   1184   
    }
 1194   1185   
}
 1195   1186   
 1196         -
impl std::future::Future for JsonEnumsInputFuture {
        1187  +
impl std::future::Future for EndpointWithHostLabelOperationInputFuture {
 1197   1188   
    type Output = Result<
 1198         -
        crate::input::JsonEnumsInput,
        1189  +
        crate::input::EndpointWithHostLabelOperationInput,
 1199   1190   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1200   1191   
    >;
 1201   1192   
 1202   1193   
    fn poll(
 1203   1194   
        self: std::pin::Pin<&mut Self>,
 1204   1195   
        cx: &mut std::task::Context<'_>,
 1205   1196   
    ) -> std::task::Poll<Self::Output> {
 1206   1197   
        let this = self.project();
 1207   1198   
        this.inner.as_mut().poll(cx)
 1208   1199   
    }
 1209   1200   
}
 1210   1201   
 1211   1202   
impl<B>
 1212   1203   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1213   1204   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1214   1205   
        B,
 1215         -
    > for crate::input::JsonEnumsInput
        1206  +
    > for crate::input::EndpointWithHostLabelOperationInput
 1216   1207   
where
 1217   1208   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1218   1209   
    B: 'static,
 1219   1210   
 1220   1211   
    B::Data: Send,
 1221   1212   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1222   1213   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1223   1214   
{
 1224   1215   
    type Rejection =
 1225   1216   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1226         -
    type Future = JsonEnumsInputFuture;
        1217  +
    type Future = EndpointWithHostLabelOperationInputFuture;
 1227   1218   
 1228   1219   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1229   1220   
        let fut = async move {
 1230   1221   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1231   1222   
                request.headers(),
 1232   1223   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1233   1224   
            ) {
 1234   1225   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1235   1226   
            }
 1236         -
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request).await
        1227  +
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
        1228  +
                            .await
 1237   1229   
        };
 1238   1230   
        use ::futures_util::future::TryFutureExt;
 1239   1231   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1240   1232   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1241   1233   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1242   1234   
                    });
 1243         -
        JsonEnumsInputFuture {
        1235  +
        EndpointWithHostLabelOperationInputFuture {
 1244   1236   
            inner: Box::pin(fut),
 1245   1237   
        }
 1246   1238   
    }
 1247   1239   
}
 1248   1240   
impl
 1249   1241   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1250   1242   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1251         -
    > for crate::output::JsonEnumsOutput
        1243  +
    > for crate::output::EndpointWithHostLabelOperationOutput
 1252   1244   
{
 1253   1245   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1254         -
        match crate::protocol_serde::shape_json_enums::ser_json_enums_http_response(self) {
        1246  +
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_response(self) {
 1255   1247   
                        Ok(response) => response,
 1256   1248   
                        Err(e) => {
 1257   1249   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1258   1250   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1259   1251   
                        }
 1260   1252   
                    }
 1261   1253   
    }
 1262   1254   
}
 1263   1255   
impl
 1264   1256   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1265   1257   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1266         -
    > for crate::error::JsonEnumsError
        1258  +
    > for crate::error::EndpointWithHostLabelOperationError
 1267   1259   
{
 1268   1260   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1269         -
        match crate::protocol_serde::shape_json_enums::ser_json_enums_http_error(&self) {
        1261  +
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_error(&self) {
 1270   1262   
            Ok(mut response) => {
 1271         -
                response.extensions_mut().insert(
 1272         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
 1273         -
                        self.name(),
 1274         -
                    ),
 1275         -
                );
        1263  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1276   1264   
                response
 1277         -
            }
        1265  +
            },
 1278   1266   
            Err(e) => {
 1279   1267   
                ::tracing::error!(error = %e, "failed to serialize response");
 1280   1268   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1281   1269   
            }
 1282   1270   
        }
 1283   1271   
    }
 1284   1272   
}
 1285   1273   
 1286   1274   
::pin_project_lite::pin_project! {
 1287   1275   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1288         -
    /// [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput) using modelled bindings.
 1289         -
    pub struct PutAndGetInlineDocumentsInputFuture {
 1290         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::PutAndGetInlineDocumentsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1276  +
    /// [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput) using modelled bindings.
        1277  +
    pub struct HostWithPathOperationInputFuture {
        1278  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::HostWithPathOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1291   1279   
    }
 1292   1280   
}
 1293   1281   
 1294         -
impl std::future::Future for PutAndGetInlineDocumentsInputFuture {
        1282  +
impl std::future::Future for HostWithPathOperationInputFuture {
 1295   1283   
    type Output = Result<
 1296         -
        crate::input::PutAndGetInlineDocumentsInput,
        1284  +
        crate::input::HostWithPathOperationInput,
 1297   1285   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1298   1286   
    >;
 1299   1287   
 1300   1288   
    fn poll(
 1301   1289   
        self: std::pin::Pin<&mut Self>,
 1302   1290   
        cx: &mut std::task::Context<'_>,
 1303   1291   
    ) -> std::task::Poll<Self::Output> {
 1304   1292   
        let this = self.project();
 1305   1293   
        this.inner.as_mut().poll(cx)
 1306   1294   
    }
 1307   1295   
}
 1308   1296   
 1309   1297   
impl<B>
 1310   1298   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1311   1299   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1312   1300   
        B,
 1313         -
    > for crate::input::PutAndGetInlineDocumentsInput
        1301  +
    > for crate::input::HostWithPathOperationInput
 1314   1302   
where
 1315   1303   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1316   1304   
    B: 'static,
 1317   1305   
 1318   1306   
    B::Data: Send,
 1319   1307   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1320   1308   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1321   1309   
{
 1322   1310   
    type Rejection =
 1323   1311   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1324         -
    type Future = PutAndGetInlineDocumentsInputFuture;
        1312  +
    type Future = HostWithPathOperationInputFuture;
 1325   1313   
 1326   1314   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1327   1315   
        let fut = async move {
 1328   1316   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1329   1317   
                request.headers(),
 1330   1318   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1331   1319   
            ) {
 1332   1320   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1333   1321   
            }
 1334         -
            crate::protocol_serde::shape_put_and_get_inline_documents::de_put_and_get_inline_documents_http_request(request)
        1322  +
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
 1335   1323   
                            .await
 1336   1324   
        };
 1337   1325   
        use ::futures_util::future::TryFutureExt;
 1338   1326   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1339   1327   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1340   1328   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1341   1329   
                    });
 1342         -
        PutAndGetInlineDocumentsInputFuture {
        1330  +
        HostWithPathOperationInputFuture {
 1343   1331   
            inner: Box::pin(fut),
 1344   1332   
        }
 1345   1333   
    }
 1346   1334   
}
 1347   1335   
impl
 1348   1336   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1349   1337   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1350         -
    > for crate::output::PutAndGetInlineDocumentsOutput
        1338  +
    > for crate::output::HostWithPathOperationOutput
 1351   1339   
{
 1352   1340   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1353         -
        match crate::protocol_serde::shape_put_and_get_inline_documents::ser_put_and_get_inline_documents_http_response(self) {
        1341  +
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_response(self) {
 1354   1342   
                        Ok(response) => response,
 1355   1343   
                        Err(e) => {
 1356   1344   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1357   1345   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1358   1346   
                        }
 1359   1347   
                    }
 1360   1348   
    }
 1361   1349   
}
 1362   1350   
impl
 1363   1351   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1364   1352   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1365         -
    > for crate::error::PutAndGetInlineDocumentsError
        1353  +
    > for crate::error::HostWithPathOperationError
 1366   1354   
{
 1367   1355   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1368         -
        match crate::protocol_serde::shape_put_and_get_inline_documents::ser_put_and_get_inline_documents_http_error(&self) {
        1356  +
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_error(&self) {
 1369   1357   
            Ok(mut response) => {
 1370   1358   
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1371   1359   
                response
 1372   1360   
            },
 1373   1361   
            Err(e) => {
 1374   1362   
                ::tracing::error!(error = %e, "failed to serialize response");
 1375   1363   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1376   1364   
            }
 1377   1365   
        }
 1378   1366   
    }
 1379   1367   
}
 1380   1368   
 1381   1369   
::pin_project_lite::pin_project! {
 1382   1370   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1383         -
    /// [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput) using modelled bindings.
 1384         -
    pub struct OperationWithOptionalInputOutputInputFuture {
 1385         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::OperationWithOptionalInputOutputInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1371  +
    /// [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput) using modelled bindings.
        1372  +
    pub struct DatetimeOffsetsInputFuture {
        1373  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::DatetimeOffsetsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1386   1374   
    }
 1387   1375   
}
 1388   1376   
 1389         -
impl std::future::Future for OperationWithOptionalInputOutputInputFuture {
        1377  +
impl std::future::Future for DatetimeOffsetsInputFuture {
 1390   1378   
    type Output = Result<
 1391         -
        crate::input::OperationWithOptionalInputOutputInput,
        1379  +
        crate::input::DatetimeOffsetsInput,
 1392   1380   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1393   1381   
    >;
 1394   1382   
 1395   1383   
    fn poll(
 1396   1384   
        self: std::pin::Pin<&mut Self>,
 1397   1385   
        cx: &mut std::task::Context<'_>,
 1398   1386   
    ) -> std::task::Poll<Self::Output> {
 1399   1387   
        let this = self.project();
 1400   1388   
        this.inner.as_mut().poll(cx)
 1401   1389   
    }
 1402   1390   
}
 1403   1391   
 1404   1392   
impl<B>
 1405   1393   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1406   1394   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1407   1395   
        B,
 1408         -
    > for crate::input::OperationWithOptionalInputOutputInput
        1396  +
    > for crate::input::DatetimeOffsetsInput
 1409   1397   
where
 1410   1398   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1411   1399   
    B: 'static,
 1412   1400   
 1413   1401   
    B::Data: Send,
 1414   1402   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1415   1403   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1416   1404   
{
 1417   1405   
    type Rejection =
 1418   1406   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1419         -
    type Future = OperationWithOptionalInputOutputInputFuture;
        1407  +
    type Future = DatetimeOffsetsInputFuture;
 1420   1408   
 1421   1409   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1422   1410   
        let fut = async move {
 1423   1411   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1424   1412   
                request.headers(),
 1425   1413   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1426   1414   
            ) {
 1427   1415   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1428   1416   
            }
 1429         -
            crate::protocol_serde::shape_operation_with_optional_input_output::de_operation_with_optional_input_output_http_request(request)
        1417  +
            crate::protocol_serde::shape_datetime_offsets::de_datetime_offsets_http_request(request)
 1430   1418   
                .await
 1431   1419   
        };
 1432   1420   
        use ::futures_util::future::TryFutureExt;
 1433   1421   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1434   1422   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1435   1423   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1436   1424   
                    });
 1437         -
        OperationWithOptionalInputOutputInputFuture {
        1425  +
        DatetimeOffsetsInputFuture {
 1438   1426   
            inner: Box::pin(fut),
 1439   1427   
        }
 1440   1428   
    }
 1441   1429   
}
 1442   1430   
impl
 1443   1431   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1444   1432   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1445         -
    > for crate::output::OperationWithOptionalInputOutputOutput
        1433  +
    > for crate::output::DatetimeOffsetsOutput
 1446   1434   
{
 1447   1435   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1448         -
        match crate::protocol_serde::shape_operation_with_optional_input_output::ser_operation_with_optional_input_output_http_response(self) {
        1436  +
        match crate::protocol_serde::shape_datetime_offsets::ser_datetime_offsets_http_response(
        1437  +
            self,
        1438  +
        ) {
 1449   1439   
            Ok(response) => response,
 1450   1440   
            Err(e) => {
 1451   1441   
                ::tracing::error!(error = %e, "failed to serialize response");
 1452   1442   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1453   1443   
            }
 1454   1444   
        }
 1455   1445   
    }
 1456   1446   
}
 1457   1447   
impl
 1458   1448   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1459   1449   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1460         -
    > for crate::error::OperationWithOptionalInputOutputError
        1450  +
    > for crate::error::DatetimeOffsetsError
 1461   1451   
{
 1462   1452   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1463         -
        match crate::protocol_serde::shape_operation_with_optional_input_output::ser_operation_with_optional_input_output_http_error(&self) {
        1453  +
        match crate::protocol_serde::shape_datetime_offsets::ser_datetime_offsets_http_error(&self)
        1454  +
        {
 1464   1455   
            Ok(mut response) => {
 1465         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
        1456  +
                response.extensions_mut().insert(
        1457  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
        1458  +
                        self.name(),
        1459  +
                    ),
        1460  +
                );
 1466   1461   
                response
 1467         -
            },
        1462  +
            }
 1468   1463   
            Err(e) => {
 1469   1464   
                ::tracing::error!(error = %e, "failed to serialize response");
 1470   1465   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1471   1466   
            }
 1472   1467   
        }
 1473   1468   
    }
 1474   1469   
}
 1475   1470   
 1476   1471   
::pin_project_lite::pin_project! {
 1477   1472   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1478         -
    /// [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput) using modelled bindings.
 1479         -
    pub struct SimpleScalarPropertiesInputFuture {
 1480         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::SimpleScalarPropertiesInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1473  +
    /// [`FractionalSecondsInput`](crate::input::FractionalSecondsInput) using modelled bindings.
        1474  +
    pub struct FractionalSecondsInputFuture {
        1475  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::FractionalSecondsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1481   1476   
    }
 1482   1477   
}
 1483   1478   
 1484         -
impl std::future::Future for SimpleScalarPropertiesInputFuture {
        1479  +
impl std::future::Future for FractionalSecondsInputFuture {
 1485   1480   
    type Output = Result<
 1486         -
        crate::input::SimpleScalarPropertiesInput,
        1481  +
        crate::input::FractionalSecondsInput,
 1487   1482   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1488   1483   
    >;
 1489   1484   
 1490   1485   
    fn poll(
 1491   1486   
        self: std::pin::Pin<&mut Self>,
 1492   1487   
        cx: &mut std::task::Context<'_>,
 1493   1488   
    ) -> std::task::Poll<Self::Output> {
 1494   1489   
        let this = self.project();
 1495   1490   
        this.inner.as_mut().poll(cx)
 1496   1491   
    }
 1497   1492   
}
 1498   1493   
 1499   1494   
impl<B>
 1500   1495   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1501   1496   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1502   1497   
        B,
 1503         -
    > for crate::input::SimpleScalarPropertiesInput
        1498  +
    > for crate::input::FractionalSecondsInput
 1504   1499   
where
 1505   1500   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1506   1501   
    B: 'static,
 1507   1502   
 1508   1503   
    B::Data: Send,
 1509   1504   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1510   1505   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1511   1506   
{
 1512   1507   
    type Rejection =
 1513   1508   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1514         -
    type Future = SimpleScalarPropertiesInputFuture;
        1509  +
    type Future = FractionalSecondsInputFuture;
 1515   1510   
 1516   1511   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1517   1512   
        let fut = async move {
 1518   1513   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1519   1514   
                request.headers(),
 1520   1515   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1521   1516   
            ) {
 1522   1517   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1523   1518   
            }
 1524         -
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
        1519  +
            crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds_http_request(
        1520  +
                request,
        1521  +
            )
 1525   1522   
            .await
 1526   1523   
        };
 1527   1524   
        use ::futures_util::future::TryFutureExt;
 1528   1525   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1529   1526   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1530   1527   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1531   1528   
                    });
 1532         -
        SimpleScalarPropertiesInputFuture {
        1529  +
        FractionalSecondsInputFuture {
 1533   1530   
            inner: Box::pin(fut),
 1534   1531   
        }
 1535   1532   
    }
 1536   1533   
}
 1537   1534   
impl
 1538   1535   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1539   1536   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1540         -
    > for crate::output::SimpleScalarPropertiesOutput
        1537  +
    > for crate::output::FractionalSecondsOutput
 1541   1538   
{
 1542   1539   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1543         -
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_response(self) {
        1540  +
        match crate::protocol_serde::shape_fractional_seconds::ser_fractional_seconds_http_response(
        1541  +
            self,
        1542  +
        ) {
 1544   1543   
            Ok(response) => response,
 1545   1544   
            Err(e) => {
 1546   1545   
                ::tracing::error!(error = %e, "failed to serialize response");
 1547   1546   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1548   1547   
            }
 1549   1548   
        }
 1550   1549   
    }
 1551   1550   
}
 1552   1551   
impl
 1553   1552   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1554   1553   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1555         -
    > for crate::error::SimpleScalarPropertiesError
        1554  +
    > for crate::error::FractionalSecondsError
 1556   1555   
{
 1557   1556   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1558         -
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_error(&self) {
        1557  +
        match crate::protocol_serde::shape_fractional_seconds::ser_fractional_seconds_http_error(
        1558  +
            &self,
        1559  +
        ) {
 1559   1560   
            Ok(mut response) => {
 1560         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
        1561  +
                response.extensions_mut().insert(
        1562  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
        1563  +
                        self.name(),
        1564  +
                    ),
        1565  +
                );
 1561   1566   
                response
 1562         -
            },
        1567  +
            }
 1563   1568   
            Err(e) => {
 1564   1569   
                ::tracing::error!(error = %e, "failed to serialize response");
 1565   1570   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1566   1571   
            }
 1567   1572   
        }
 1568   1573   
    }
 1569   1574   
}
 1570   1575   
 1571   1576   
::pin_project_lite::pin_project! {
 1572   1577   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1573         -
    /// [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput) using modelled bindings.
 1574         -
    pub struct KitchenSinkOperationInputFuture {
 1575         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::KitchenSinkOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1578  +
    /// [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput) using modelled bindings.
        1579  +
    pub struct PutWithContentEncodingInputFuture {
        1580  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::PutWithContentEncodingInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1576   1581   
    }
 1577   1582   
}
 1578   1583   
 1579         -
impl std::future::Future for KitchenSinkOperationInputFuture {
        1584  +
impl std::future::Future for PutWithContentEncodingInputFuture {
 1580   1585   
    type Output = Result<
 1581         -
        crate::input::KitchenSinkOperationInput,
        1586  +
        crate::input::PutWithContentEncodingInput,
 1582   1587   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1583   1588   
    >;
 1584   1589   
 1585   1590   
    fn poll(
 1586   1591   
        self: std::pin::Pin<&mut Self>,
 1587   1592   
        cx: &mut std::task::Context<'_>,
 1588   1593   
    ) -> std::task::Poll<Self::Output> {
 1589   1594   
        let this = self.project();
 1590   1595   
        this.inner.as_mut().poll(cx)
 1591   1596   
    }
 1592   1597   
}
 1593   1598   
 1594   1599   
impl<B>
 1595   1600   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1596   1601   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1597   1602   
        B,
 1598         -
    > for crate::input::KitchenSinkOperationInput
        1603  +
    > for crate::input::PutWithContentEncodingInput
 1599   1604   
where
 1600   1605   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1601   1606   
    B: 'static,
 1602   1607   
 1603   1608   
    B::Data: Send,
 1604   1609   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1605   1610   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1606   1611   
{
 1607   1612   
    type Rejection =
 1608   1613   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1609         -
    type Future = KitchenSinkOperationInputFuture;
        1614  +
    type Future = PutWithContentEncodingInputFuture;
 1610   1615   
 1611   1616   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1612   1617   
        let fut = async move {
 1613   1618   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1614   1619   
                request.headers(),
 1615   1620   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1616   1621   
            ) {
 1617   1622   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1618   1623   
            }
 1619         -
            crate::protocol_serde::shape_kitchen_sink_operation::de_kitchen_sink_operation_http_request(request)
        1624  +
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
 1620   1625   
                            .await
 1621   1626   
        };
 1622   1627   
        use ::futures_util::future::TryFutureExt;
 1623   1628   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1624   1629   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1625   1630   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1626   1631   
                    });
 1627         -
        KitchenSinkOperationInputFuture {
        1632  +
        PutWithContentEncodingInputFuture {
 1628   1633   
            inner: Box::pin(fut),
 1629   1634   
        }
 1630   1635   
    }
 1631   1636   
}
 1632   1637   
impl
 1633   1638   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1634   1639   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1635         -
    > for crate::output::KitchenSinkOperationOutput
        1640  +
    > for crate::output::PutWithContentEncodingOutput
 1636   1641   
{
 1637   1642   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1638         -
        match crate::protocol_serde::shape_kitchen_sink_operation::ser_kitchen_sink_operation_http_response(self) {
        1643  +
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_response(self) {
 1639   1644   
                        Ok(response) => response,
 1640   1645   
                        Err(e) => {
 1641   1646   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1642   1647   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1643   1648   
                        }
 1644   1649   
                    }
 1645   1650   
    }
 1646   1651   
}
 1647   1652   
impl
 1648   1653   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1649   1654   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1650         -
    > for crate::error::KitchenSinkOperationError
        1655  +
    > for crate::error::PutWithContentEncodingError
 1651   1656   
{
 1652   1657   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1653         -
        match crate::protocol_serde::shape_kitchen_sink_operation::ser_kitchen_sink_operation_http_error(&self) {
        1658  +
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_error(&self) {
 1654   1659   
            Ok(mut response) => {
 1655   1660   
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1656   1661   
                response
 1657   1662   
            },
 1658   1663   
            Err(e) => {
 1659   1664   
                ::tracing::error!(error = %e, "failed to serialize response");
 1660   1665   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1661   1666   
            }
 1662   1667   
        }
 1663   1668   
    }
 1664   1669   
}
 1665   1670   
 1666   1671   
::pin_project_lite::pin_project! {
 1667   1672   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1668         -
    /// [`EmptyOperationInput`](crate::input::EmptyOperationInput) using modelled bindings.
 1669         -
    pub struct EmptyOperationInputFuture {
 1670         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EmptyOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1673  +
    /// [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput) using modelled bindings.
        1674  +
    pub struct ContentTypeParametersInputFuture {
        1675  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::ContentTypeParametersInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1671   1676   
    }
 1672   1677   
}
 1673   1678   
 1674         -
impl std::future::Future for EmptyOperationInputFuture {
        1679  +
impl std::future::Future for ContentTypeParametersInputFuture {
 1675   1680   
    type Output = Result<
 1676         -
        crate::input::EmptyOperationInput,
        1681  +
        crate::input::ContentTypeParametersInput,
 1677   1682   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1678   1683   
    >;
 1679   1684   
 1680   1685   
    fn poll(
 1681   1686   
        self: std::pin::Pin<&mut Self>,
 1682   1687   
        cx: &mut std::task::Context<'_>,
 1683   1688   
    ) -> std::task::Poll<Self::Output> {
 1684   1689   
        let this = self.project();
 1685   1690   
        this.inner.as_mut().poll(cx)
 1686   1691   
    }
 1687   1692   
}
 1688   1693   
 1689   1694   
impl<B>
 1690   1695   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1691   1696   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1692   1697   
        B,
 1693         -
    > for crate::input::EmptyOperationInput
        1698  +
    > for crate::input::ContentTypeParametersInput
 1694   1699   
where
 1695   1700   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1696   1701   
    B: 'static,
 1697   1702   
 1698   1703   
    B::Data: Send,
 1699   1704   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1700   1705   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1701   1706   
{
 1702   1707   
    type Rejection =
 1703   1708   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1704         -
    type Future = EmptyOperationInputFuture;
        1709  +
    type Future = ContentTypeParametersInputFuture;
 1705   1710   
 1706   1711   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1707   1712   
        let fut = async move {
 1708   1713   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1709   1714   
                request.headers(),
 1710   1715   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1711   1716   
            ) {
 1712   1717   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1713   1718   
            }
 1714         -
            crate::protocol_serde::shape_empty_operation::de_empty_operation_http_request(request)
        1719  +
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
 1715   1720   
                            .await
 1716   1721   
        };
 1717   1722   
        use ::futures_util::future::TryFutureExt;
 1718   1723   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1719   1724   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1720   1725   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1721   1726   
                    });
 1722         -
        EmptyOperationInputFuture {
        1727  +
        ContentTypeParametersInputFuture {
 1723   1728   
            inner: Box::pin(fut),
 1724   1729   
        }
 1725   1730   
    }
 1726   1731   
}
 1727   1732   
impl
 1728   1733   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1729   1734   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1730         -
    > for crate::output::EmptyOperationOutput
        1735  +
    > for crate::output::ContentTypeParametersOutput
 1731   1736   
{
 1732   1737   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1733         -
        match crate::protocol_serde::shape_empty_operation::ser_empty_operation_http_response(self)
 1734         -
        {
        1738  +
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_response(self) {
 1735   1739   
                        Ok(response) => response,
 1736   1740   
                        Err(e) => {
 1737   1741   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1738   1742   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1739   1743   
                        }
 1740   1744   
                    }
 1741   1745   
    }
 1742   1746   
}
 1743   1747   
impl
 1744   1748   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1745   1749   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1746         -
    > for crate::error::EmptyOperationError
        1750  +
    > for crate::error::ContentTypeParametersError
 1747   1751   
{
 1748   1752   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1749         -
        match crate::protocol_serde::shape_empty_operation::ser_empty_operation_http_error(&self) {
        1753  +
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_error(&self) {
 1750   1754   
            Ok(mut response) => {
 1751         -
                response.extensions_mut().insert(
 1752         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
 1753         -
                        self.name(),
 1754         -
                    ),
 1755         -
                );
        1755  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1756   1756   
                response
 1757         -
            }
        1757  +
            },
 1758   1758   
            Err(e) => {
 1759   1759   
                ::tracing::error!(error = %e, "failed to serialize response");
 1760   1760   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1761   1761   
            }
 1762   1762   
        }
 1763   1763   
    }
 1764   1764   
}

tmp-codegen-diff/codegen-server-test-python/json_rpc11/rust-server-codegen-python/src/operation_shape.rs

@@ -1,1 +587,586 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
pub struct EmptyOperation;
    2      4   
    3         -
/// The example tests how servers must support requests containing a `Content-Type` header with parameters.
    4         -
pub struct ContentTypeParameters;
    5         -
    6         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
           5  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyOperation {
    7      6   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
    8      7   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
    9         -
            "aws.protocoltests.json#ContentTypeParameters",
           8  +
            "aws.protocoltests.json#EmptyOperation",
   10      9   
            "aws.protocoltests.json",
   11         -
            "ContentTypeParameters",
          10  +
            "EmptyOperation",
   12     11   
        );
   13     12   
   14         -
    type Input = crate::input::ContentTypeParametersInput;
   15         -
    type Output = crate::output::ContentTypeParametersOutput;
   16         -
    type Error = crate::error::ContentTypeParametersError;
          13  +
    type Input = crate::input::EmptyOperationInput;
          14  +
    type Output = crate::output::EmptyOperationOutput;
          15  +
    type Error = crate::error::EmptyOperationError;
   17     16   
}
   18     17   
   19         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   20         -
    for ContentTypeParameters
   21         -
{
          18  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for EmptyOperation {
   22     19   
    type RequestFmt =
   23     20   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   24     21   
    type ResponseFmt =
   25     22   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   26     23   
   27     24   
    fn request_fmt() -> Self::RequestFmt {
   28     25   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   29     26   
    }
   30     27   
   31     28   
    fn response_fmt() -> Self::ResponseFmt {
   32     29   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   33     30   
    }
   34     31   
}
   35     32   
   36     33   
#[allow(missing_docs)] // documentation missing in model
   37         -
pub struct PutWithContentEncoding;
          34  +
pub struct KitchenSinkOperation;
   38     35   
   39         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
          36  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for KitchenSinkOperation {
   40     37   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
   41     38   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   42         -
            "aws.protocoltests.json#PutWithContentEncoding",
          39  +
            "aws.protocoltests.json#KitchenSinkOperation",
   43     40   
            "aws.protocoltests.json",
   44         -
            "PutWithContentEncoding",
          41  +
            "KitchenSinkOperation",
   45     42   
        );
   46     43   
   47         -
    type Input = crate::input::PutWithContentEncodingInput;
   48         -
    type Output = crate::output::PutWithContentEncodingOutput;
   49         -
    type Error = crate::error::PutWithContentEncodingError;
          44  +
    type Input = crate::input::KitchenSinkOperationInput;
          45  +
    type Output = crate::output::KitchenSinkOperationOutput;
          46  +
    type Error = crate::error::KitchenSinkOperationError;
   50     47   
}
   51     48   
   52     49   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   53         -
    for PutWithContentEncoding
          50  +
    for KitchenSinkOperation
   54     51   
{
   55     52   
    type RequestFmt =
   56     53   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   57     54   
    type ResponseFmt =
   58     55   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   59     56   
   60     57   
    fn request_fmt() -> Self::RequestFmt {
   61     58   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   62     59   
    }
   63     60   
   64     61   
    fn response_fmt() -> Self::ResponseFmt {
   65     62   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   66     63   
    }
   67     64   
}
   68     65   
   69     66   
#[allow(missing_docs)] // documentation missing in model
   70         -
pub struct FractionalSeconds;
          67  +
pub struct SimpleScalarProperties;
   71     68   
   72         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for FractionalSeconds {
          69  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
   73     70   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
   74     71   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   75         -
            "aws.protocoltests.json#FractionalSeconds",
          72  +
            "aws.protocoltests.json#SimpleScalarProperties",
   76     73   
            "aws.protocoltests.json",
   77         -
            "FractionalSeconds",
          74  +
            "SimpleScalarProperties",
   78     75   
        );
   79     76   
   80         -
    type Input = crate::input::FractionalSecondsInput;
   81         -
    type Output = crate::output::FractionalSecondsOutput;
   82         -
    type Error = crate::error::FractionalSecondsError;
          77  +
    type Input = crate::input::SimpleScalarPropertiesInput;
          78  +
    type Output = crate::output::SimpleScalarPropertiesOutput;
          79  +
    type Error = crate::error::SimpleScalarPropertiesError;
   83     80   
}
   84     81   
   85     82   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   86         -
    for FractionalSeconds
          83  +
    for SimpleScalarProperties
   87     84   
{
   88     85   
    type RequestFmt =
   89     86   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   90     87   
    type ResponseFmt =
   91     88   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   92     89   
   93     90   
    fn request_fmt() -> Self::RequestFmt {
   94     91   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   95     92   
    }
   96     93   
   97     94   
    fn response_fmt() -> Self::ResponseFmt {
   98     95   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   99     96   
    }
  100     97   
}
  101     98   
  102     99   
#[allow(missing_docs)] // documentation missing in model
  103         -
pub struct DatetimeOffsets;
         100  +
pub struct OperationWithOptionalInputOutput;
  104    101   
  105         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DatetimeOffsets {
         102  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         103  +
    for OperationWithOptionalInputOutput
         104  +
{
  106    105   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  107    106   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  108         -
            "aws.protocoltests.json#DatetimeOffsets",
         107  +
            "aws.protocoltests.json#OperationWithOptionalInputOutput",
  109    108   
            "aws.protocoltests.json",
  110         -
            "DatetimeOffsets",
         109  +
            "OperationWithOptionalInputOutput",
  111    110   
        );
  112    111   
  113         -
    type Input = crate::input::DatetimeOffsetsInput;
  114         -
    type Output = crate::output::DatetimeOffsetsOutput;
  115         -
    type Error = crate::error::DatetimeOffsetsError;
         112  +
    type Input = crate::input::OperationWithOptionalInputOutputInput;
         113  +
    type Output = crate::output::OperationWithOptionalInputOutputOutput;
         114  +
    type Error = crate::error::OperationWithOptionalInputOutputError;
  116    115   
}
  117    116   
  118    117   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  119         -
    for DatetimeOffsets
         118  +
    for OperationWithOptionalInputOutput
  120    119   
{
  121    120   
    type RequestFmt =
  122    121   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  123    122   
    type ResponseFmt =
  124    123   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  125    124   
  126    125   
    fn request_fmt() -> Self::RequestFmt {
  127    126   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  128    127   
    }
  129    128   
  130    129   
    fn response_fmt() -> Self::ResponseFmt {
  131    130   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  132    131   
    }
  133    132   
}
  134    133   
  135         -
#[allow(missing_docs)] // documentation missing in model
  136         -
pub struct HostWithPathOperation;
         134  +
/// This example serializes an inline document as part of the payload.
         135  +
pub struct PutAndGetInlineDocuments;
  137    136   
  138         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
         137  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutAndGetInlineDocuments {
  139    138   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  140    139   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  141         -
            "aws.protocoltests.json#HostWithPathOperation",
         140  +
            "aws.protocoltests.json#PutAndGetInlineDocuments",
  142    141   
            "aws.protocoltests.json",
  143         -
            "HostWithPathOperation",
         142  +
            "PutAndGetInlineDocuments",
  144    143   
        );
  145    144   
  146         -
    type Input = crate::input::HostWithPathOperationInput;
  147         -
    type Output = crate::output::HostWithPathOperationOutput;
  148         -
    type Error = crate::error::HostWithPathOperationError;
         145  +
    type Input = crate::input::PutAndGetInlineDocumentsInput;
         146  +
    type Output = crate::output::PutAndGetInlineDocumentsOutput;
         147  +
    type Error = crate::error::PutAndGetInlineDocumentsError;
  149    148   
}
  150    149   
  151    150   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  152         -
    for HostWithPathOperation
         151  +
    for PutAndGetInlineDocuments
  153    152   
{
  154    153   
    type RequestFmt =
  155    154   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  156    155   
    type ResponseFmt =
  157    156   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  158    157   
  159    158   
    fn request_fmt() -> Self::RequestFmt {
  160    159   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  161    160   
    }
  162    161   
  163    162   
    fn response_fmt() -> Self::ResponseFmt {
  164    163   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  165    164   
    }
  166    165   
}
  167    166   
  168         -
#[allow(missing_docs)] // documentation missing in model
  169         -
pub struct EndpointWithHostLabelOperation;
         167  +
/// This example serializes enums as top level properties, in lists, sets, and maps.
         168  +
pub struct JsonEnums;
  170    169   
  171         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
         170  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonEnums {
  172    171   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  173    172   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  174         -
            "aws.protocoltests.json#EndpointWithHostLabelOperation",
         173  +
            "aws.protocoltests.json#JsonEnums",
  175    174   
            "aws.protocoltests.json",
  176         -
            "EndpointWithHostLabelOperation",
         175  +
            "JsonEnums",
  177    176   
        );
  178    177   
  179         -
    type Input = crate::input::EndpointWithHostLabelOperationInput;
  180         -
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
  181         -
    type Error = crate::error::EndpointWithHostLabelOperationError;
         178  +
    type Input = crate::input::JsonEnumsInput;
         179  +
    type Output = crate::output::JsonEnumsOutput;
         180  +
    type Error = crate::error::JsonEnumsError;
  182    181   
}
  183    182   
  184         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  185         -
    for EndpointWithHostLabelOperation
  186         -
{
         183  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonEnums {
  187    184   
    type RequestFmt =
  188    185   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  189    186   
    type ResponseFmt =
  190    187   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  191    188   
  192    189   
    fn request_fmt() -> Self::RequestFmt {
  193    190   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  194    191   
    }
  195    192   
  196    193   
    fn response_fmt() -> Self::ResponseFmt {
  197    194   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  198    195   
    }
  199    196   
}
  200    197   
  201         -
#[allow(missing_docs)] // documentation missing in model
  202         -
pub struct EndpointOperation;
         198  +
/// This example serializes intEnums as top level properties, in lists, sets, and maps.
         199  +
pub struct JsonIntEnums;
  203    200   
  204         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
         201  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonIntEnums {
  205    202   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  206    203   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  207         -
            "aws.protocoltests.json#EndpointOperation",
         204  +
            "aws.protocoltests.json#JsonIntEnums",
  208    205   
            "aws.protocoltests.json",
  209         -
            "EndpointOperation",
         206  +
            "JsonIntEnums",
  210    207   
        );
  211    208   
  212         -
    type Input = crate::input::EndpointOperationInput;
  213         -
    type Output = crate::output::EndpointOperationOutput;
  214         -
    type Error = crate::error::EndpointOperationError;
         209  +
    type Input = crate::input::JsonIntEnumsInput;
         210  +
    type Output = crate::output::JsonIntEnumsOutput;
         211  +
    type Error = crate::error::JsonIntEnumsError;
  215    212   
}
  216    213   
  217         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  218         -
    for EndpointOperation
  219         -
{
         214  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonIntEnums {
  220    215   
    type RequestFmt =
  221    216   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  222    217   
    type ResponseFmt =
  223    218   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  224    219   
  225    220   
    fn request_fmt() -> Self::RequestFmt {
  226    221   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  227    222   
    }
  228    223   
  229    224   
    fn response_fmt() -> Self::ResponseFmt {
  230    225   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  231    226   
    }
  232    227   
}
  233    228   
  234         -
/// This operation uses unions for inputs and outputs.
  235         -
pub struct JsonUnions;
         229  +
#[allow(missing_docs)] // documentation missing in model
         230  +
pub struct NullOperation;
  236    231   
  237         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonUnions {
         232  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullOperation {
  238    233   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  239    234   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  240         -
            "aws.protocoltests.json#JsonUnions",
         235  +
            "aws.protocoltests.json#NullOperation",
  241    236   
            "aws.protocoltests.json",
  242         -
            "JsonUnions",
         237  +
            "NullOperation",
  243    238   
        );
  244    239   
  245         -
    type Input = crate::input::JsonUnionsInput;
  246         -
    type Output = crate::output::JsonUnionsOutput;
  247         -
    type Error = crate::error::JsonUnionsError;
         240  +
    type Input = crate::input::NullOperationInput;
         241  +
    type Output = crate::output::NullOperationOutput;
         242  +
    type Error = crate::error::NullOperationError;
  248    243   
}
  249    244   
  250         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonUnions {
         245  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for NullOperation {
  251    246   
    type RequestFmt =
  252    247   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  253    248   
    type ResponseFmt =
  254    249   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  255    250   
  256    251   
    fn request_fmt() -> Self::RequestFmt {
  257    252   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  258    253   
    }
  259    254   
  260    255   
    fn response_fmt() -> Self::ResponseFmt {
  261    256   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  262    257   
    }
  263    258   
}
  264    259   
  265         -
/// This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
  266         -
pub struct GreetingWithErrors;
         260  +
#[allow(missing_docs)] // documentation missing in model
         261  +
pub struct SparseNullsOperation;
  267    262   
  268         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
         263  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseNullsOperation {
  269    264   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  270    265   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  271         -
            "aws.protocoltests.json#GreetingWithErrors",
         266  +
            "aws.protocoltests.json#SparseNullsOperation",
  272    267   
            "aws.protocoltests.json",
  273         -
            "GreetingWithErrors",
         268  +
            "SparseNullsOperation",
  274    269   
        );
  275    270   
  276         -
    type Input = crate::input::GreetingWithErrorsInput;
  277         -
    type Output = crate::output::GreetingWithErrorsOutput;
  278         -
    type Error = crate::error::GreetingWithErrorsError;
         271  +
    type Input = crate::input::SparseNullsOperationInput;
         272  +
    type Output = crate::output::SparseNullsOperationOutput;
         273  +
    type Error = crate::error::SparseNullsOperationError;
  279    274   
}
  280    275   
  281    276   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  282         -
    for GreetingWithErrors
         277  +
    for SparseNullsOperation
  283    278   
{
  284    279   
    type RequestFmt =
  285    280   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  286    281   
    type ResponseFmt =
  287    282   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  288    283   
  289    284   
    fn request_fmt() -> Self::RequestFmt {
  290    285   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  291    286   
    }
  292    287   
  293    288   
    fn response_fmt() -> Self::ResponseFmt {
  294    289   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  295    290   
    }
  296    291   
}
  297    292   
  298         -
#[allow(missing_docs)] // documentation missing in model
  299         -
pub struct SparseNullsOperation;
         293  +
/// This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
         294  +
pub struct GreetingWithErrors;
  300    295   
  301         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseNullsOperation {
         296  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
  302    297   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  303    298   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  304         -
            "aws.protocoltests.json#SparseNullsOperation",
         299  +
            "aws.protocoltests.json#GreetingWithErrors",
  305    300   
            "aws.protocoltests.json",
  306         -
            "SparseNullsOperation",
         301  +
            "GreetingWithErrors",
  307    302   
        );
  308    303   
  309         -
    type Input = crate::input::SparseNullsOperationInput;
  310         -
    type Output = crate::output::SparseNullsOperationOutput;
  311         -
    type Error = crate::error::SparseNullsOperationError;
         304  +
    type Input = crate::input::GreetingWithErrorsInput;
         305  +
    type Output = crate::output::GreetingWithErrorsOutput;
         306  +
    type Error = crate::error::GreetingWithErrorsError;
  312    307   
}
  313    308   
  314    309   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  315         -
    for SparseNullsOperation
         310  +
    for GreetingWithErrors
  316    311   
{
  317    312   
    type RequestFmt =
  318    313   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  319    314   
    type ResponseFmt =
  320    315   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  321    316   
  322    317   
    fn request_fmt() -> Self::RequestFmt {
  323    318   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  324    319   
    }
  325    320   
  326    321   
    fn response_fmt() -> Self::ResponseFmt {
  327    322   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  328    323   
    }
  329    324   
}
  330    325   
  331         -
#[allow(missing_docs)] // documentation missing in model
  332         -
pub struct NullOperation;
         326  +
/// This operation uses unions for inputs and outputs.
         327  +
pub struct JsonUnions;
  333    328   
  334         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullOperation {
         329  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonUnions {
  335    330   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  336    331   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  337         -
            "aws.protocoltests.json#NullOperation",
         332  +
            "aws.protocoltests.json#JsonUnions",
  338    333   
            "aws.protocoltests.json",
  339         -
            "NullOperation",
         334  +
            "JsonUnions",
  340    335   
        );
  341    336   
  342         -
    type Input = crate::input::NullOperationInput;
  343         -
    type Output = crate::output::NullOperationOutput;
  344         -
    type Error = crate::error::NullOperationError;
         337  +
    type Input = crate::input::JsonUnionsInput;
         338  +
    type Output = crate::output::JsonUnionsOutput;
         339  +
    type Error = crate::error::JsonUnionsError;
  345    340   
}
  346    341   
  347         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for NullOperation {
         342  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonUnions {
  348    343   
    type RequestFmt =
  349    344   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  350    345   
    type ResponseFmt =
  351    346   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  352    347   
  353    348   
    fn request_fmt() -> Self::RequestFmt {
  354    349   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  355    350   
    }
  356    351   
  357    352   
    fn response_fmt() -> Self::ResponseFmt {
  358    353   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  359    354   
    }
  360    355   
}
  361    356   
  362         -
/// This example serializes intEnums as top level properties, in lists, sets, and maps.
  363         -
pub struct JsonIntEnums;
         357  +
#[allow(missing_docs)] // documentation missing in model
         358  +
pub struct EndpointOperation;
  364    359   
  365         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonIntEnums {
         360  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
  366    361   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  367    362   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  368         -
            "aws.protocoltests.json#JsonIntEnums",
         363  +
            "aws.protocoltests.json#EndpointOperation",
  369    364   
            "aws.protocoltests.json",
  370         -
            "JsonIntEnums",
         365  +
            "EndpointOperation",
  371    366   
        );
  372    367   
  373         -
    type Input = crate::input::JsonIntEnumsInput;
  374         -
    type Output = crate::output::JsonIntEnumsOutput;
  375         -
    type Error = crate::error::JsonIntEnumsError;
         368  +
    type Input = crate::input::EndpointOperationInput;
         369  +
    type Output = crate::output::EndpointOperationOutput;
         370  +
    type Error = crate::error::EndpointOperationError;
  376    371   
}
  377    372   
  378         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonIntEnums {
         373  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         374  +
    for EndpointOperation
         375  +
{
  379    376   
    type RequestFmt =
  380    377   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  381    378   
    type ResponseFmt =
  382    379   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  383    380   
  384    381   
    fn request_fmt() -> Self::RequestFmt {
  385    382   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  386    383   
    }
  387    384   
  388    385   
    fn response_fmt() -> Self::ResponseFmt {
  389    386   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  390    387   
    }
  391    388   
}
  392    389   
  393         -
/// This example serializes enums as top level properties, in lists, sets, and maps.
  394         -
pub struct JsonEnums;
         390  +
#[allow(missing_docs)] // documentation missing in model
         391  +
pub struct EndpointWithHostLabelOperation;
  395    392   
  396         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonEnums {
         393  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
  397    394   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  398    395   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  399         -
            "aws.protocoltests.json#JsonEnums",
         396  +
            "aws.protocoltests.json#EndpointWithHostLabelOperation",
  400    397   
            "aws.protocoltests.json",
  401         -
            "JsonEnums",
         398  +
            "EndpointWithHostLabelOperation",
  402    399   
        );
  403    400   
  404         -
    type Input = crate::input::JsonEnumsInput;
  405         -
    type Output = crate::output::JsonEnumsOutput;
  406         -
    type Error = crate::error::JsonEnumsError;
         401  +
    type Input = crate::input::EndpointWithHostLabelOperationInput;
         402  +
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
         403  +
    type Error = crate::error::EndpointWithHostLabelOperationError;
  407    404   
}
  408    405   
  409         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonEnums {
         406  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         407  +
    for EndpointWithHostLabelOperation
         408  +
{
  410    409   
    type RequestFmt =
  411    410   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  412    411   
    type ResponseFmt =
  413    412   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  414    413   
  415    414   
    fn request_fmt() -> Self::RequestFmt {
  416    415   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  417    416   
    }
  418    417   
  419    418   
    fn response_fmt() -> Self::ResponseFmt {
  420    419   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  421    420   
    }
  422    421   
}
  423    422   
  424         -
/// This example serializes an inline document as part of the payload.
  425         -
pub struct PutAndGetInlineDocuments;
         423  +
#[allow(missing_docs)] // documentation missing in model
         424  +
pub struct HostWithPathOperation;
  426    425   
  427         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutAndGetInlineDocuments {
         426  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
  428    427   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  429    428   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  430         -
            "aws.protocoltests.json#PutAndGetInlineDocuments",
         429  +
            "aws.protocoltests.json#HostWithPathOperation",
  431    430   
            "aws.protocoltests.json",
  432         -
            "PutAndGetInlineDocuments",
         431  +
            "HostWithPathOperation",
  433    432   
        );
  434    433   
  435         -
    type Input = crate::input::PutAndGetInlineDocumentsInput;
  436         -
    type Output = crate::output::PutAndGetInlineDocumentsOutput;
  437         -
    type Error = crate::error::PutAndGetInlineDocumentsError;
         434  +
    type Input = crate::input::HostWithPathOperationInput;
         435  +
    type Output = crate::output::HostWithPathOperationOutput;
         436  +
    type Error = crate::error::HostWithPathOperationError;
  438    437   
}
  439    438   
  440    439   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  441         -
    for PutAndGetInlineDocuments
         440  +
    for HostWithPathOperation
  442    441   
{
  443    442   
    type RequestFmt =
  444    443   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  445    444   
    type ResponseFmt =
  446    445   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  447    446   
  448    447   
    fn request_fmt() -> Self::RequestFmt {
  449    448   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  450    449   
    }
  451    450   
  452    451   
    fn response_fmt() -> Self::ResponseFmt {
  453    452   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  454    453   
    }
  455    454   
}
  456    455   
  457    456   
#[allow(missing_docs)] // documentation missing in model
  458         -
pub struct OperationWithOptionalInputOutput;
         457  +
pub struct DatetimeOffsets;
  459    458   
  460         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
  461         -
    for OperationWithOptionalInputOutput
  462         -
{
         459  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DatetimeOffsets {
  463    460   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  464    461   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  465         -
            "aws.protocoltests.json#OperationWithOptionalInputOutput",
         462  +
            "aws.protocoltests.json#DatetimeOffsets",
  466    463   
            "aws.protocoltests.json",
  467         -
            "OperationWithOptionalInputOutput",
         464  +
            "DatetimeOffsets",
  468    465   
        );
  469    466   
  470         -
    type Input = crate::input::OperationWithOptionalInputOutputInput;
  471         -
    type Output = crate::output::OperationWithOptionalInputOutputOutput;
  472         -
    type Error = crate::error::OperationWithOptionalInputOutputError;
         467  +
    type Input = crate::input::DatetimeOffsetsInput;
         468  +
    type Output = crate::output::DatetimeOffsetsOutput;
         469  +
    type Error = crate::error::DatetimeOffsetsError;
  473    470   
}
  474    471   
  475    472   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  476         -
    for OperationWithOptionalInputOutput
         473  +
    for DatetimeOffsets
  477    474   
{
  478    475   
    type RequestFmt =
  479    476   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  480    477   
    type ResponseFmt =
  481    478   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  482    479   
  483    480   
    fn request_fmt() -> Self::RequestFmt {
  484    481   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  485    482   
    }
  486    483   
  487    484   
    fn response_fmt() -> Self::ResponseFmt {
  488    485   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  489    486   
    }
  490    487   
}
  491    488   
  492    489   
#[allow(missing_docs)] // documentation missing in model
  493         -
pub struct SimpleScalarProperties;
         490  +
pub struct FractionalSeconds;
  494    491   
  495         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
         492  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for FractionalSeconds {
  496    493   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  497    494   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  498         -
            "aws.protocoltests.json#SimpleScalarProperties",
         495  +
            "aws.protocoltests.json#FractionalSeconds",
  499    496   
            "aws.protocoltests.json",
  500         -
            "SimpleScalarProperties",
         497  +
            "FractionalSeconds",
  501    498   
        );
  502    499   
  503         -
    type Input = crate::input::SimpleScalarPropertiesInput;
  504         -
    type Output = crate::output::SimpleScalarPropertiesOutput;
  505         -
    type Error = crate::error::SimpleScalarPropertiesError;
         500  +
    type Input = crate::input::FractionalSecondsInput;
         501  +
    type Output = crate::output::FractionalSecondsOutput;
         502  +
    type Error = crate::error::FractionalSecondsError;
  506    503   
}
  507    504   
  508    505   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  509         -
    for SimpleScalarProperties
         506  +
    for FractionalSeconds
  510    507   
{
  511    508   
    type RequestFmt =
  512    509   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  513    510   
    type ResponseFmt =
  514    511   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  515    512   
  516    513   
    fn request_fmt() -> Self::RequestFmt {
  517    514   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  518    515   
    }
  519    516   
  520    517   
    fn response_fmt() -> Self::ResponseFmt {
  521    518   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  522    519   
    }
  523    520   
}
  524    521   
  525    522   
#[allow(missing_docs)] // documentation missing in model
  526         -
pub struct KitchenSinkOperation;
         523  +
pub struct PutWithContentEncoding;
  527    524   
  528         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for KitchenSinkOperation {
         525  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
  529    526   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  530    527   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  531         -
            "aws.protocoltests.json#KitchenSinkOperation",
         528  +
            "aws.protocoltests.json#PutWithContentEncoding",
  532    529   
            "aws.protocoltests.json",
  533         -
            "KitchenSinkOperation",
         530  +
            "PutWithContentEncoding",
  534    531   
        );
  535    532   
  536         -
    type Input = crate::input::KitchenSinkOperationInput;
  537         -
    type Output = crate::output::KitchenSinkOperationOutput;
  538         -
    type Error = crate::error::KitchenSinkOperationError;
         533  +
    type Input = crate::input::PutWithContentEncodingInput;
         534  +
    type Output = crate::output::PutWithContentEncodingOutput;
         535  +
    type Error = crate::error::PutWithContentEncodingError;
  539    536   
}
  540    537   
  541    538   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  542         -
    for KitchenSinkOperation
         539  +
    for PutWithContentEncoding
  543    540   
{
  544    541   
    type RequestFmt =
  545    542   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  546    543   
    type ResponseFmt =
  547    544   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  548    545   
  549    546   
    fn request_fmt() -> Self::RequestFmt {
  550    547   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  551    548   
    }
  552    549   
  553    550   
    fn response_fmt() -> Self::ResponseFmt {
  554    551   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  555    552   
    }
  556    553   
}
  557    554   
  558         -
#[allow(missing_docs)] // documentation missing in model
  559         -
pub struct EmptyOperation;
         555  +
/// The example tests how servers must support requests containing a `Content-Type` header with parameters.
         556  +
pub struct ContentTypeParameters;
  560    557   
  561         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyOperation {
         558  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
  562    559   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  563    560   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  564         -
            "aws.protocoltests.json#EmptyOperation",
         561  +
            "aws.protocoltests.json#ContentTypeParameters",
  565    562   
            "aws.protocoltests.json",
  566         -
            "EmptyOperation",
         563  +
            "ContentTypeParameters",
  567    564   
        );
  568    565   
  569         -
    type Input = crate::input::EmptyOperationInput;
  570         -
    type Output = crate::output::EmptyOperationOutput;
  571         -
    type Error = crate::error::EmptyOperationError;
         566  +
    type Input = crate::input::ContentTypeParametersInput;
         567  +
    type Output = crate::output::ContentTypeParametersOutput;
         568  +
    type Error = crate::error::ContentTypeParametersError;
  572    569   
}
  573    570   
  574         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for EmptyOperation {
         571  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         572  +
    for ContentTypeParameters
         573  +
{
  575    574   
    type RequestFmt =
  576    575   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  577    576   
    type ResponseFmt =
  578    577   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  579    578   
  580    579   
    fn request_fmt() -> Self::RequestFmt {
  581    580   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  582    581   
    }
  583    582   
  584    583   
    fn response_fmt() -> Self::ResponseFmt {

tmp-codegen-diff/codegen-server-test-python/json_rpc11/rust-server-codegen-python/src/output.rs

@@ -1,1 +445,931 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[::pyo3::pyclass]
    3      3   
/// :rtype None:
    4      4   
#[allow(missing_docs)] // documentation missing in model
    5      5   
#[derive(
    6      6   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
    7      7   
)]
    8         -
pub struct ContentTypeParametersOutput {}
           8  +
pub struct EmptyOperationOutput {}
    9      9   
#[allow(clippy::new_without_default)]
   10     10   
#[allow(clippy::too_many_arguments)]
   11     11   
#[::pyo3::pymethods]
   12         -
impl ContentTypeParametersOutput {
          12  +
impl EmptyOperationOutput {
   13     13   
    #[new]
   14     14   
    pub fn new() -> Self {
   15     15   
        Self {}
   16     16   
    }
   17     17   
    fn __repr__(&self) -> String {
   18     18   
        format!("{self:?}")
   19     19   
    }
   20     20   
    fn __str__(&self) -> String {
   21     21   
        format!("{self:?}")
   22     22   
    }
   23     23   
}
   24         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ContentTypeParametersOutput> {
          24  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EmptyOperationOutput> {
   25     25   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
   26         -
        ob.extract::<ContentTypeParametersOutput>().map(Box::new)
          26  +
        ob.extract::<EmptyOperationOutput>().map(Box::new)
   27     27   
    }
   28     28   
}
   29     29   
   30         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ContentTypeParametersOutput> {
          30  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EmptyOperationOutput> {
   31     31   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   32     32   
        (*self).into_py(py)
   33     33   
    }
   34     34   
}
   35         -
impl ContentTypeParametersOutput {
   36         -
    /// Creates a new builder-style object to manufacture [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
   37         -
    pub fn builder() -> crate::output::content_type_parameters_output::Builder {
   38         -
        crate::output::content_type_parameters_output::Builder::default()
          35  +
impl EmptyOperationOutput {
          36  +
    /// Creates a new builder-style object to manufacture [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
          37  +
    pub fn builder() -> crate::output::empty_operation_output::Builder {
          38  +
        crate::output::empty_operation_output::Builder::default()
   39     39   
    }
   40     40   
}
   41     41   
   42     42   
#[::pyo3::pyclass]
          43  +
/// :param blob typing.Optional\[json_rpc11.types.Blob\]:
          44  +
/// :param boolean typing.Optional\[bool\]:
          45  +
/// :param double typing.Optional\[float\]:
          46  +
/// :param empty_struct typing.Optional\[json_rpc11.model.EmptyStruct\]:
          47  +
/// :param float typing.Optional\[float\]:
          48  +
/// :param httpdate_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
          49  +
/// :param integer typing.Optional\[int\]:
          50  +
/// :param iso8601_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
          51  +
/// :param json_value typing.Optional\[str\]:
          52  +
/// :param list_of_lists typing.Optional\[typing.List\[typing.List\[str\]\]\]:
          53  +
/// :param list_of_maps_of_strings typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
          54  +
/// :param list_of_strings typing.Optional\[typing.List\[str\]\]:
          55  +
/// :param list_of_structs typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
          56  +
/// :param long typing.Optional\[int\]:
          57  +
/// :param map_of_lists_of_strings typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
          58  +
/// :param map_of_maps typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
          59  +
/// :param map_of_strings typing.Optional\[typing.Dict\[str, str\]\]:
          60  +
/// :param map_of_structs typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
          61  +
/// :param recursive_list typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
          62  +
/// :param recursive_map typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
          63  +
/// :param recursive_struct typing.Optional\[json_rpc11.model.KitchenSink\]:
          64  +
/// :param simple_struct typing.Optional\[json_rpc11.model.SimpleStruct\]:
          65  +
/// :param string typing.Optional\[str\]:
          66  +
/// :param struct_with_json_name typing.Optional\[json_rpc11.model.StructWithJsonName\]:
          67  +
/// :param timestamp typing.Optional\[json_rpc11.types.DateTime\]:
          68  +
/// :param unix_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
   43     69   
/// :rtype None:
   44     70   
#[allow(missing_docs)] // documentation missing in model
   45         -
#[derive(
   46         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
   47         -
)]
   48         -
pub struct PutWithContentEncodingOutput {}
   49         -
#[allow(clippy::new_without_default)]
   50         -
#[allow(clippy::too_many_arguments)]
   51         -
#[::pyo3::pymethods]
   52         -
impl PutWithContentEncodingOutput {
   53         -
    #[new]
   54         -
    pub fn new() -> Self {
   55         -
        Self {}
          71  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
          72  +
pub struct KitchenSinkOperationOutput {
          73  +
    #[pyo3(get, set)]
          74  +
    /// :type typing.Optional\[json_rpc11.types.Blob\]:
          75  +
    #[allow(missing_docs)] // documentation missing in model
          76  +
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
          77  +
    #[pyo3(get, set)]
          78  +
    /// :type typing.Optional\[bool\]:
          79  +
    #[allow(missing_docs)] // documentation missing in model
          80  +
    pub boolean: ::std::option::Option<bool>,
          81  +
    #[pyo3(get, set)]
          82  +
    /// :type typing.Optional\[float\]:
          83  +
    #[allow(missing_docs)] // documentation missing in model
          84  +
    pub double: ::std::option::Option<f64>,
          85  +
    #[pyo3(get, set)]
          86  +
    /// :type typing.Optional\[json_rpc11.model.EmptyStruct\]:
          87  +
    #[allow(missing_docs)] // documentation missing in model
          88  +
    pub empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
          89  +
    #[pyo3(get, set)]
          90  +
    /// :type typing.Optional\[float\]:
          91  +
    #[allow(missing_docs)] // documentation missing in model
          92  +
    pub float: ::std::option::Option<f32>,
          93  +
    #[pyo3(get, set)]
          94  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
          95  +
    #[allow(missing_docs)] // documentation missing in model
          96  +
    pub httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
          97  +
    #[pyo3(get, set)]
          98  +
    /// :type typing.Optional\[int\]:
          99  +
    #[allow(missing_docs)] // documentation missing in model
         100  +
    pub integer: ::std::option::Option<i32>,
         101  +
    #[pyo3(get, set)]
         102  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
         103  +
    #[allow(missing_docs)] // documentation missing in model
         104  +
    pub iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         105  +
    #[pyo3(get, set)]
         106  +
    /// :type typing.Optional\[str\]:
         107  +
    #[allow(missing_docs)] // documentation missing in model
         108  +
    pub json_value: ::std::option::Option<::std::string::String>,
         109  +
    #[pyo3(get, set)]
         110  +
    /// :type typing.Optional\[typing.List\[typing.List\[str\]\]\]:
         111  +
    #[allow(missing_docs)] // documentation missing in model
         112  +
    pub list_of_lists:
         113  +
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
         114  +
    #[pyo3(get, set)]
         115  +
    /// :type typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
         116  +
    #[allow(missing_docs)] // documentation missing in model
         117  +
    pub list_of_maps_of_strings: ::std::option::Option<
         118  +
        ::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
         119  +
    >,
         120  +
    #[pyo3(get, set)]
         121  +
    /// :type typing.Optional\[typing.List\[str\]\]:
         122  +
    #[allow(missing_docs)] // documentation missing in model
         123  +
    pub list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         124  +
    #[pyo3(get, set)]
         125  +
    /// :type typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
         126  +
    #[allow(missing_docs)] // documentation missing in model
         127  +
    pub list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         128  +
    #[pyo3(get, set)]
         129  +
    /// :type typing.Optional\[int\]:
         130  +
    #[allow(missing_docs)] // documentation missing in model
         131  +
    pub long: ::std::option::Option<i64>,
         132  +
    #[pyo3(get, set)]
         133  +
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
         134  +
    #[allow(missing_docs)] // documentation missing in model
         135  +
    pub map_of_lists_of_strings: ::std::option::Option<
         136  +
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         137  +
    >,
         138  +
    #[pyo3(get, set)]
         139  +
    /// :type typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
         140  +
    #[allow(missing_docs)] // documentation missing in model
         141  +
    pub map_of_maps: ::std::option::Option<
         142  +
        ::std::collections::HashMap<
         143  +
            ::std::string::String,
         144  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         145  +
        >,
         146  +
    >,
         147  +
    #[pyo3(get, set)]
         148  +
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
         149  +
    #[allow(missing_docs)] // documentation missing in model
         150  +
    pub map_of_strings: ::std::option::Option<
         151  +
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         152  +
    >,
         153  +
    #[pyo3(get, set)]
         154  +
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
         155  +
    #[allow(missing_docs)] // documentation missing in model
         156  +
    pub map_of_structs: ::std::option::Option<
         157  +
        ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         158  +
    >,
         159  +
    #[pyo3(get, set)]
         160  +
    /// :type typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
         161  +
    #[allow(missing_docs)] // documentation missing in model
         162  +
    pub recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
         163  +
    #[pyo3(get, set)]
         164  +
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
         165  +
    #[allow(missing_docs)] // documentation missing in model
         166  +
    pub recursive_map: ::std::option::Option<
         167  +
        ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         168  +
    >,
         169  +
    #[pyo3(get, set)]
         170  +
    /// :type typing.Optional\[json_rpc11.model.KitchenSink\]:
         171  +
    #[allow(missing_docs)] // documentation missing in model
         172  +
    pub recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
         173  +
    #[pyo3(get, set)]
         174  +
    /// :type typing.Optional\[json_rpc11.model.SimpleStruct\]:
         175  +
    #[allow(missing_docs)] // documentation missing in model
         176  +
    pub simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
         177  +
    #[pyo3(get, set)]
         178  +
    /// :type typing.Optional\[str\]:
         179  +
    #[allow(missing_docs)] // documentation missing in model
         180  +
    pub string: ::std::option::Option<::std::string::String>,
         181  +
    #[pyo3(get, set)]
         182  +
    /// :type typing.Optional\[json_rpc11.model.StructWithJsonName\]:
         183  +
    #[allow(missing_docs)] // documentation missing in model
         184  +
    pub struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
         185  +
    #[pyo3(get, set)]
         186  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
         187  +
    #[allow(missing_docs)] // documentation missing in model
         188  +
    pub timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         189  +
    #[pyo3(get, set)]
         190  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
         191  +
    #[allow(missing_docs)] // documentation missing in model
         192  +
    pub unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         193  +
}
         194  +
impl KitchenSinkOperationOutput {
         195  +
    #[allow(missing_docs)] // documentation missing in model
         196  +
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
         197  +
        self.blob.as_ref()
   56    198   
    }
   57         -
    fn __repr__(&self) -> String {
   58         -
        format!("{self:?}")
         199  +
    #[allow(missing_docs)] // documentation missing in model
         200  +
    pub fn boolean(&self) -> ::std::option::Option<bool> {
         201  +
        self.boolean
   59    202   
    }
   60         -
    fn __str__(&self) -> String {
   61         -
        format!("{self:?}")
         203  +
    #[allow(missing_docs)] // documentation missing in model
         204  +
    pub fn double(&self) -> ::std::option::Option<f64> {
         205  +
        self.double
   62    206   
    }
   63         -
}
   64         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutWithContentEncodingOutput> {
   65         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
   66         -
        ob.extract::<PutWithContentEncodingOutput>().map(Box::new)
         207  +
    #[allow(missing_docs)] // documentation missing in model
         208  +
    pub fn empty_struct(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
         209  +
        self.empty_struct.as_ref()
   67    210   
    }
   68         -
}
   69         -
   70         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutWithContentEncodingOutput> {
   71         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   72         -
        (*self).into_py(py)
         211  +
    #[allow(missing_docs)] // documentation missing in model
         212  +
    pub fn float(&self) -> ::std::option::Option<f32> {
         213  +
        self.float
   73    214   
    }
   74         -
}
   75         -
impl PutWithContentEncodingOutput {
   76         -
    /// Creates a new builder-style object to manufacture [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
   77         -
    pub fn builder() -> crate::output::put_with_content_encoding_output::Builder {
   78         -
        crate::output::put_with_content_encoding_output::Builder::default()
         215  +
    #[allow(missing_docs)] // documentation missing in model
         216  +
    pub fn httpdate_timestamp(
         217  +
        &self,
         218  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         219  +
        self.httpdate_timestamp.as_ref()
   79    220   
    }
   80         -
}
   81         -
   82         -
#[::pyo3::pyclass]
   83         -
/// :param datetime typing.Optional\[json_rpc11.types.DateTime\]:
   84         -
/// :rtype None:
   85         -
#[allow(missing_docs)] // documentation missing in model
   86         -
#[derive(
   87         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
   88         -
)]
   89         -
pub struct FractionalSecondsOutput {
   90         -
    #[pyo3(get, set)]
   91         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
   92    221   
    #[allow(missing_docs)] // documentation missing in model
   93         -
    pub datetime: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
   94         -
}
   95         -
impl FractionalSecondsOutput {
         222  +
    pub fn integer(&self) -> ::std::option::Option<i32> {
         223  +
        self.integer
         224  +
    }
   96    225   
    #[allow(missing_docs)] // documentation missing in model
   97         -
    pub fn datetime(
         226  +
    pub fn iso8601_timestamp(
   98    227   
        &self,
   99    228   
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
  100         -
        self.datetime.as_ref()
  101         -
    }
  102         -
}
  103         -
#[allow(clippy::new_without_default)]
  104         -
#[allow(clippy::too_many_arguments)]
  105         -
#[::pyo3::pymethods]
  106         -
impl FractionalSecondsOutput {
  107         -
    #[new]
  108         -
    pub fn new(
  109         -
        datetime: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  110         -
    ) -> Self {
  111         -
        Self { datetime }
         229  +
        self.iso8601_timestamp.as_ref()
  112    230   
    }
  113         -
    fn __repr__(&self) -> String {
  114         -
        format!("{self:?}")
         231  +
    #[allow(missing_docs)] // documentation missing in model
         232  +
    pub fn json_value(&self) -> ::std::option::Option<&str> {
         233  +
        self.json_value.as_deref()
  115    234   
    }
  116         -
    fn __str__(&self) -> String {
         235  +
    #[allow(missing_docs)] // documentation missing in model
         236  +
    pub fn list_of_lists(
         237  +
        &self,
         238  +
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
         239  +
        self.list_of_lists.as_deref()
         240  +
    }
         241  +
    #[allow(missing_docs)] // documentation missing in model
         242  +
    pub fn list_of_maps_of_strings(
         243  +
        &self,
         244  +
    ) -> ::std::option::Option<
         245  +
        &[::std::collections::HashMap<::std::string::String, ::std::string::String>],
         246  +
    > {
         247  +
        self.list_of_maps_of_strings.as_deref()
         248  +
    }
         249  +
    #[allow(missing_docs)] // documentation missing in model
         250  +
    pub fn list_of_strings(&self) -> ::std::option::Option<&[::std::string::String]> {
         251  +
        self.list_of_strings.as_deref()
         252  +
    }
         253  +
    #[allow(missing_docs)] // documentation missing in model
         254  +
    pub fn list_of_structs(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
         255  +
        self.list_of_structs.as_deref()
         256  +
    }
         257  +
    #[allow(missing_docs)] // documentation missing in model
         258  +
    pub fn long(&self) -> ::std::option::Option<i64> {
         259  +
        self.long
         260  +
    }
         261  +
    #[allow(missing_docs)] // documentation missing in model
         262  +
    pub fn map_of_lists_of_strings(
         263  +
        &self,
         264  +
    ) -> ::std::option::Option<
         265  +
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
         266  +
    > {
         267  +
        self.map_of_lists_of_strings.as_ref()
         268  +
    }
         269  +
    #[allow(missing_docs)] // documentation missing in model
         270  +
    pub fn map_of_maps(
         271  +
        &self,
         272  +
    ) -> ::std::option::Option<
         273  +
        &::std::collections::HashMap<
         274  +
            ::std::string::String,
         275  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         276  +
        >,
         277  +
    > {
         278  +
        self.map_of_maps.as_ref()
         279  +
    }
         280  +
    #[allow(missing_docs)] // documentation missing in model
         281  +
    pub fn map_of_strings(
         282  +
        &self,
         283  +
    ) -> ::std::option::Option<
         284  +
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
         285  +
    > {
         286  +
        self.map_of_strings.as_ref()
         287  +
    }
         288  +
    #[allow(missing_docs)] // documentation missing in model
         289  +
    pub fn map_of_structs(
         290  +
        &self,
         291  +
    ) -> ::std::option::Option<
         292  +
        &::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         293  +
    > {
         294  +
        self.map_of_structs.as_ref()
         295  +
    }
         296  +
    #[allow(missing_docs)] // documentation missing in model
         297  +
    pub fn recursive_list(&self) -> ::std::option::Option<&[crate::model::KitchenSink]> {
         298  +
        self.recursive_list.as_deref()
         299  +
    }
         300  +
    #[allow(missing_docs)] // documentation missing in model
         301  +
    pub fn recursive_map(
         302  +
        &self,
         303  +
    ) -> ::std::option::Option<
         304  +
        &::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         305  +
    > {
         306  +
        self.recursive_map.as_ref()
         307  +
    }
         308  +
    #[allow(missing_docs)] // documentation missing in model
         309  +
    pub fn recursive_struct(&self) -> ::std::option::Option<&crate::model::KitchenSink> {
         310  +
        self.recursive_struct.as_deref()
         311  +
    }
         312  +
    #[allow(missing_docs)] // documentation missing in model
         313  +
    pub fn simple_struct(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
         314  +
        self.simple_struct.as_ref()
         315  +
    }
         316  +
    #[allow(missing_docs)] // documentation missing in model
         317  +
    pub fn string(&self) -> ::std::option::Option<&str> {
         318  +
        self.string.as_deref()
         319  +
    }
         320  +
    #[allow(missing_docs)] // documentation missing in model
         321  +
    pub fn struct_with_json_name(
         322  +
        &self,
         323  +
    ) -> ::std::option::Option<&crate::model::StructWithJsonName> {
         324  +
        self.struct_with_json_name.as_ref()
         325  +
    }
         326  +
    #[allow(missing_docs)] // documentation missing in model
         327  +
    pub fn timestamp(
         328  +
        &self,
         329  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         330  +
        self.timestamp.as_ref()
         331  +
    }
         332  +
    #[allow(missing_docs)] // documentation missing in model
         333  +
    pub fn unix_timestamp(
         334  +
        &self,
         335  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
         336  +
        self.unix_timestamp.as_ref()
         337  +
    }
         338  +
}
         339  +
#[allow(clippy::new_without_default)]
         340  +
#[allow(clippy::too_many_arguments)]
         341  +
#[::pyo3::pymethods]
         342  +
impl KitchenSinkOperationOutput {
         343  +
    #[new]
         344  +
    pub fn new(
         345  +
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
         346  +
        boolean: ::std::option::Option<bool>,
         347  +
        double: ::std::option::Option<f64>,
         348  +
        empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
         349  +
        float: ::std::option::Option<f32>,
         350  +
        httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         351  +
        integer: ::std::option::Option<i32>,
         352  +
        iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         353  +
        json_value: ::std::option::Option<::std::string::String>,
         354  +
        list_of_lists: ::std::option::Option<
         355  +
            ::std::vec::Vec<::std::vec::Vec<::std::string::String>>,
         356  +
        >,
         357  +
        list_of_maps_of_strings: ::std::option::Option<
         358  +
            ::std::vec::Vec<
         359  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         360  +
            >,
         361  +
        >,
         362  +
        list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         363  +
        list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         364  +
        long: ::std::option::Option<i64>,
         365  +
        map_of_lists_of_strings: ::std::option::Option<
         366  +
            ::std::collections::HashMap<
         367  +
                ::std::string::String,
         368  +
                ::std::vec::Vec<::std::string::String>,
         369  +
            >,
         370  +
        >,
         371  +
        map_of_maps: ::std::option::Option<
         372  +
            ::std::collections::HashMap<
         373  +
                ::std::string::String,
         374  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         375  +
            >,
         376  +
        >,
         377  +
        map_of_strings: ::std::option::Option<
         378  +
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
         379  +
        >,
         380  +
        map_of_structs: ::std::option::Option<
         381  +
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
         382  +
        >,
         383  +
        recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
         384  +
        recursive_map: ::std::option::Option<
         385  +
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
         386  +
        >,
         387  +
        recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
         388  +
        simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
         389  +
        string: ::std::option::Option<::std::string::String>,
         390  +
        struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
         391  +
        timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         392  +
        unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         393  +
    ) -> Self {
         394  +
        Self {
         395  +
            blob,
         396  +
            boolean,
         397  +
            double,
         398  +
            empty_struct,
         399  +
            float,
         400  +
            httpdate_timestamp,
         401  +
            integer,
         402  +
            iso8601_timestamp,
         403  +
            json_value,
         404  +
            list_of_lists,
         405  +
            list_of_maps_of_strings,
         406  +
            list_of_strings,
         407  +
            list_of_structs,
         408  +
            long,
         409  +
            map_of_lists_of_strings,
         410  +
            map_of_maps,
         411  +
            map_of_strings,
         412  +
            map_of_structs,
         413  +
            recursive_list,
         414  +
            recursive_map,
         415  +
            recursive_struct,
         416  +
            simple_struct,
         417  +
            string,
         418  +
            struct_with_json_name,
         419  +
            timestamp,
         420  +
            unix_timestamp,
         421  +
        }
         422  +
    }
         423  +
    fn __repr__(&self) -> String {
         424  +
        format!("{self:?}")
         425  +
    }
         426  +
    fn __str__(&self) -> String {
  117    427   
        format!("{self:?}")
  118    428   
    }
  119    429   
}
  120         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<FractionalSecondsOutput> {
         430  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<KitchenSinkOperationOutput> {
  121    431   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  122         -
        ob.extract::<FractionalSecondsOutput>().map(Box::new)
         432  +
        ob.extract::<KitchenSinkOperationOutput>().map(Box::new)
  123    433   
    }
  124    434   
}
  125    435   
  126         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<FractionalSecondsOutput> {
         436  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<KitchenSinkOperationOutput> {
  127    437   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  128    438   
        (*self).into_py(py)
  129    439   
    }
  130    440   
}
  131         -
impl FractionalSecondsOutput {
  132         -
    /// Creates a new builder-style object to manufacture [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
  133         -
    pub fn builder() -> crate::output::fractional_seconds_output::Builder {
  134         -
        crate::output::fractional_seconds_output::Builder::default()
         441  +
impl KitchenSinkOperationOutput {
         442  +
    /// Creates a new builder-style object to manufacture [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
         443  +
    pub fn builder() -> crate::output::kitchen_sink_operation_output::Builder {
         444  +
        crate::output::kitchen_sink_operation_output::Builder::default()
  135    445   
    }
  136    446   
}
  137    447   
  138    448   
#[::pyo3::pyclass]
  139         -
/// :param datetime typing.Optional\[json_rpc11.types.DateTime\]:
         449  +
/// :param float_value typing.Optional\[float\]:
         450  +
/// :param double_value typing.Optional\[float\]:
  140    451   
/// :rtype None:
  141    452   
#[allow(missing_docs)] // documentation missing in model
  142         -
#[derive(
  143         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  144         -
)]
  145         -
pub struct DatetimeOffsetsOutput {
         453  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         454  +
pub struct SimpleScalarPropertiesOutput {
  146    455   
    #[pyo3(get, set)]
  147         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
         456  +
    /// :type typing.Optional\[float\]:
  148    457   
    #[allow(missing_docs)] // documentation missing in model
  149         -
    pub datetime: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         458  +
    pub float_value: ::std::option::Option<f32>,
         459  +
    #[pyo3(get, set)]
         460  +
    /// :type typing.Optional\[float\]:
         461  +
    #[allow(missing_docs)] // documentation missing in model
         462  +
    pub double_value: ::std::option::Option<f64>,
  150    463   
}
  151         -
impl DatetimeOffsetsOutput {
         464  +
impl SimpleScalarPropertiesOutput {
  152    465   
    #[allow(missing_docs)] // documentation missing in model
  153         -
    pub fn datetime(
  154         -
        &self,
  155         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
  156         -
        self.datetime.as_ref()
         466  +
    pub fn float_value(&self) -> ::std::option::Option<f32> {
         467  +
        self.float_value
         468  +
    }
         469  +
    #[allow(missing_docs)] // documentation missing in model
         470  +
    pub fn double_value(&self) -> ::std::option::Option<f64> {
         471  +
        self.double_value
  157    472   
    }
  158    473   
}
  159    474   
#[allow(clippy::new_without_default)]
  160    475   
#[allow(clippy::too_many_arguments)]
  161    476   
#[::pyo3::pymethods]
  162         -
impl DatetimeOffsetsOutput {
         477  +
impl SimpleScalarPropertiesOutput {
  163    478   
    #[new]
  164    479   
    pub fn new(
  165         -
        datetime: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
         480  +
        float_value: ::std::option::Option<f32>,
         481  +
        double_value: ::std::option::Option<f64>,
  166    482   
    ) -> Self {
  167         -
        Self { datetime }
         483  +
        Self {
         484  +
            float_value,
         485  +
            double_value,
         486  +
        }
  168    487   
    }
  169    488   
    fn __repr__(&self) -> String {
  170    489   
        format!("{self:?}")
  171    490   
    }
  172    491   
    fn __str__(&self) -> String {
  173    492   
        format!("{self:?}")
  174    493   
    }
  175    494   
}
  176         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DatetimeOffsetsOutput> {
         495  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SimpleScalarPropertiesOutput> {
  177    496   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  178         -
        ob.extract::<DatetimeOffsetsOutput>().map(Box::new)
         497  +
        ob.extract::<SimpleScalarPropertiesOutput>().map(Box::new)
  179    498   
    }
  180    499   
}
  181    500   
  182         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DatetimeOffsetsOutput> {
         501  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SimpleScalarPropertiesOutput> {
  183    502   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  184    503   
        (*self).into_py(py)
  185    504   
    }
  186    505   
}
  187         -
impl DatetimeOffsetsOutput {
  188         -
    /// Creates a new builder-style object to manufacture [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
  189         -
    pub fn builder() -> crate::output::datetime_offsets_output::Builder {
  190         -
        crate::output::datetime_offsets_output::Builder::default()
  191         -
    }
         506  +
impl SimpleScalarPropertiesOutput {
         507  +
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
         508  +
    pub fn builder() -> crate::output::simple_scalar_properties_output::Builder {
         509  +
        crate::output::simple_scalar_properties_output::Builder::default()
         510  +
    }
  192    511   
}
  193    512   
  194    513   
#[::pyo3::pyclass]
         514  +
/// :param value typing.Optional\[str\]:
  195    515   
/// :rtype None:
  196    516   
#[allow(missing_docs)] // documentation missing in model
  197    517   
#[derive(
  198    518   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  199    519   
)]
  200         -
pub struct HostWithPathOperationOutput {}
  201         -
#[allow(clippy::new_without_default)]
  202         -
#[allow(clippy::too_many_arguments)]
  203         -
#[::pyo3::pymethods]
  204         -
impl HostWithPathOperationOutput {
  205         -
    #[new]
  206         -
    pub fn new() -> Self {
  207         -
        Self {}
  208         -
    }
  209         -
    fn __repr__(&self) -> String {
  210         -
        format!("{self:?}")
  211         -
    }
  212         -
    fn __str__(&self) -> String {
  213         -
        format!("{self:?}")
  214         -
    }
  215         -
}
  216         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HostWithPathOperationOutput> {
  217         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  218         -
        ob.extract::<HostWithPathOperationOutput>().map(Box::new)
  219         -
    }
  220         -
}
  221         -
  222         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HostWithPathOperationOutput> {
  223         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  224         -
        (*self).into_py(py)
  225         -
    }
         520  +
pub struct OperationWithOptionalInputOutputOutput {
         521  +
    #[pyo3(get, set)]
         522  +
    /// :type typing.Optional\[str\]:
         523  +
    #[allow(missing_docs)] // documentation missing in model
         524  +
    pub value: ::std::option::Option<::std::string::String>,
  226    525   
}
  227         -
impl HostWithPathOperationOutput {
  228         -
    /// Creates a new builder-style object to manufacture [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
  229         -
    pub fn builder() -> crate::output::host_with_path_operation_output::Builder {
  230         -
        crate::output::host_with_path_operation_output::Builder::default()
         526  +
impl OperationWithOptionalInputOutputOutput {
         527  +
    #[allow(missing_docs)] // documentation missing in model
         528  +
    pub fn value(&self) -> ::std::option::Option<&str> {
         529  +
        self.value.as_deref()
  231    530   
    }
  232    531   
}
  233         -
  234         -
#[::pyo3::pyclass]
  235         -
/// :rtype None:
  236         -
#[allow(missing_docs)] // documentation missing in model
  237         -
#[derive(
  238         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  239         -
)]
  240         -
pub struct EndpointWithHostLabelOperationOutput {}
  241    532   
#[allow(clippy::new_without_default)]
  242    533   
#[allow(clippy::too_many_arguments)]
  243    534   
#[::pyo3::pymethods]
  244         -
impl EndpointWithHostLabelOperationOutput {
         535  +
impl OperationWithOptionalInputOutputOutput {
  245    536   
    #[new]
  246         -
    pub fn new() -> Self {
  247         -
        Self {}
         537  +
    pub fn new(value: ::std::option::Option<::std::string::String>) -> Self {
         538  +
        Self { value }
  248    539   
    }
  249    540   
    fn __repr__(&self) -> String {
  250    541   
        format!("{self:?}")
  251    542   
    }
  252    543   
    fn __str__(&self) -> String {
  253    544   
        format!("{self:?}")
  254    545   
    }
  255    546   
}
  256    547   
impl<'source> ::pyo3::FromPyObject<'source>
  257         -
    for std::boxed::Box<EndpointWithHostLabelOperationOutput>
         548  +
    for std::boxed::Box<OperationWithOptionalInputOutputOutput>
  258    549   
{
  259    550   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  260         -
        ob.extract::<EndpointWithHostLabelOperationOutput>()
         551  +
        ob.extract::<OperationWithOptionalInputOutputOutput>()
  261    552   
            .map(Box::new)
  262    553   
    }
  263    554   
}
  264    555   
  265         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointWithHostLabelOperationOutput> {
         556  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OperationWithOptionalInputOutputOutput> {
  266    557   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  267    558   
        (*self).into_py(py)
  268    559   
    }
  269    560   
}
  270         -
impl EndpointWithHostLabelOperationOutput {
  271         -
    /// Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
  272         -
    pub fn builder() -> crate::output::endpoint_with_host_label_operation_output::Builder {
  273         -
        crate::output::endpoint_with_host_label_operation_output::Builder::default()
         561  +
impl OperationWithOptionalInputOutputOutput {
         562  +
    /// Creates a new builder-style object to manufacture [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
         563  +
    pub fn builder() -> crate::output::operation_with_optional_input_output_output::Builder {
         564  +
        crate::output::operation_with_optional_input_output_output::Builder::default()
  274    565   
    }
  275    566   
}
  276    567   
  277    568   
#[::pyo3::pyclass]
         569  +
/// :param inline_document typing.Optional\[json_rpc11.types.Document\]:
  278    570   
/// :rtype None:
  279    571   
#[allow(missing_docs)] // documentation missing in model
  280         -
#[derive(
  281         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  282         -
)]
  283         -
pub struct EndpointOperationOutput {}
         572  +
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         573  +
pub struct PutAndGetInlineDocumentsOutput {
         574  +
    #[pyo3(get, set)]
         575  +
    /// :type typing.Optional\[json_rpc11.types.Document\]:
         576  +
    #[allow(missing_docs)] // documentation missing in model
         577  +
    pub inline_document: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
         578  +
}
         579  +
impl PutAndGetInlineDocumentsOutput {
         580  +
    #[allow(missing_docs)] // documentation missing in model
         581  +
    pub fn inline_document(
         582  +
        &self,
         583  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Document> {
         584  +
        self.inline_document.as_ref()
         585  +
    }
         586  +
}
  284    587   
#[allow(clippy::new_without_default)]
  285    588   
#[allow(clippy::too_many_arguments)]
  286    589   
#[::pyo3::pymethods]
  287         -
impl EndpointOperationOutput {
         590  +
impl PutAndGetInlineDocumentsOutput {
  288    591   
    #[new]
  289         -
    pub fn new() -> Self {
  290         -
        Self {}
         592  +
    pub fn new(
         593  +
        inline_document: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
         594  +
    ) -> Self {
         595  +
        Self { inline_document }
  291    596   
    }
  292    597   
    fn __repr__(&self) -> String {
  293    598   
        format!("{self:?}")
  294    599   
    }
  295    600   
    fn __str__(&self) -> String {
  296    601   
        format!("{self:?}")
  297    602   
    }
  298    603   
}
  299         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EndpointOperationOutput> {
         604  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutAndGetInlineDocumentsOutput> {
  300    605   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  301         -
        ob.extract::<EndpointOperationOutput>().map(Box::new)
         606  +
        ob.extract::<PutAndGetInlineDocumentsOutput>().map(Box::new)
  302    607   
    }
  303    608   
}
  304    609   
  305         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointOperationOutput> {
         610  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutAndGetInlineDocumentsOutput> {
  306    611   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  307    612   
        (*self).into_py(py)
  308    613   
    }
  309    614   
}
  310         -
impl EndpointOperationOutput {
  311         -
    /// Creates a new builder-style object to manufacture [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
  312         -
    pub fn builder() -> crate::output::endpoint_operation_output::Builder {
  313         -
        crate::output::endpoint_operation_output::Builder::default()
         615  +
impl PutAndGetInlineDocumentsOutput {
         616  +
    /// Creates a new builder-style object to manufacture [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
         617  +
    pub fn builder() -> crate::output::put_and_get_inline_documents_output::Builder {
         618  +
        crate::output::put_and_get_inline_documents_output::Builder::default()
  314    619   
    }
  315    620   
}
  316    621   
  317    622   
#[::pyo3::pyclass]
  318         -
/// :param contents typing.Optional\[json_rpc11.model.MyUnion\]:
         623  +
/// :param foo_enum1 typing.Optional\[json_rpc11.model.FooEnum\]:
         624  +
/// :param foo_enum2 typing.Optional\[json_rpc11.model.FooEnum\]:
         625  +
/// :param foo_enum3 typing.Optional\[json_rpc11.model.FooEnum\]:
         626  +
/// :param foo_enum_list typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
         627  +
/// :param foo_enum_set typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
         628  +
/// :param foo_enum_map typing.Optional\[typing.Dict\[str, json_rpc11.model.FooEnum\]\]:
  319    629   
/// :rtype None:
  320         -
/// A shared structure that contains a single union member.
         630  +
#[allow(missing_docs)] // documentation missing in model
  321    631   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  322         -
pub struct JsonUnionsOutput {
         632  +
pub struct JsonEnumsOutput {
  323    633   
    #[pyo3(get, set)]
  324         -
    /// :type typing.Optional\[json_rpc11.model.MyUnion\]:
  325         -
    /// A union with a representative set of types for members.
  326         -
    pub contents: ::std::option::Option<crate::model::MyUnion>,
         634  +
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
         635  +
    #[allow(missing_docs)] // documentation missing in model
         636  +
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
         637  +
    #[pyo3(get, set)]
         638  +
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
         639  +
    #[allow(missing_docs)] // documentation missing in model
         640  +
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
         641  +
    #[pyo3(get, set)]
         642  +
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
         643  +
    #[allow(missing_docs)] // documentation missing in model
         644  +
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
         645  +
    #[pyo3(get, set)]
         646  +
    /// :type typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
         647  +
    #[allow(missing_docs)] // documentation missing in model
         648  +
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         649  +
    #[pyo3(get, set)]
         650  +
    /// :type typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
         651  +
    #[allow(missing_docs)] // documentation missing in model
         652  +
    pub foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         653  +
    #[pyo3(get, set)]
         654  +
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.FooEnum\]\]:
         655  +
    #[allow(missing_docs)] // documentation missing in model
         656  +
    pub foo_enum_map: ::std::option::Option<
         657  +
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         658  +
    >,
  327    659   
}
  328         -
impl JsonUnionsOutput {
  329         -
    /// A union with a representative set of types for members.
  330         -
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
  331         -
        self.contents.as_ref()
         660  +
impl JsonEnumsOutput {
         661  +
    #[allow(missing_docs)] // documentation missing in model
         662  +
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         663  +
        self.foo_enum1.as_ref()
         664  +
    }
         665  +
    #[allow(missing_docs)] // documentation missing in model
         666  +
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         667  +
        self.foo_enum2.as_ref()
         668  +
    }
         669  +
    #[allow(missing_docs)] // documentation missing in model
         670  +
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
         671  +
        self.foo_enum3.as_ref()
         672  +
    }
         673  +
    #[allow(missing_docs)] // documentation missing in model
         674  +
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         675  +
        self.foo_enum_list.as_deref()
         676  +
    }
         677  +
    #[allow(missing_docs)] // documentation missing in model
         678  +
    pub fn foo_enum_set(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
         679  +
        self.foo_enum_set.as_deref()
         680  +
    }
         681  +
    #[allow(missing_docs)] // documentation missing in model
         682  +
    pub fn foo_enum_map(
         683  +
        &self,
         684  +
    ) -> ::std::option::Option<
         685  +
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         686  +
    > {
         687  +
        self.foo_enum_map.as_ref()
  332    688   
    }
  333    689   
}
  334    690   
#[allow(clippy::new_without_default)]
  335    691   
#[allow(clippy::too_many_arguments)]
  336    692   
#[::pyo3::pymethods]
  337         -
impl JsonUnionsOutput {
         693  +
impl JsonEnumsOutput {
  338    694   
    #[new]
  339         -
    pub fn new(contents: ::std::option::Option<crate::model::MyUnion>) -> Self {
  340         -
        Self { contents }
         695  +
    pub fn new(
         696  +
        foo_enum1: ::std::option::Option<crate::model::FooEnum>,
         697  +
        foo_enum2: ::std::option::Option<crate::model::FooEnum>,
         698  +
        foo_enum3: ::std::option::Option<crate::model::FooEnum>,
         699  +
        foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         700  +
        foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
         701  +
        foo_enum_map: ::std::option::Option<
         702  +
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
         703  +
        >,
         704  +
    ) -> Self {
         705  +
        Self {
         706  +
            foo_enum1,
         707  +
            foo_enum2,
         708  +
            foo_enum3,
         709  +
            foo_enum_list,
         710  +
            foo_enum_set,
         711  +
            foo_enum_map,
         712  +
        }
  341    713   
    }
  342    714   
    fn __repr__(&self) -> String {
  343    715   
        format!("{self:?}")
  344    716   
    }
  345    717   
    fn __str__(&self) -> String {
  346    718   
        format!("{self:?}")
  347    719   
    }
  348    720   
}
  349         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonUnionsOutput> {
         721  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonEnumsOutput> {
  350    722   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  351         -
        ob.extract::<JsonUnionsOutput>().map(Box::new)
         723  +
        ob.extract::<JsonEnumsOutput>().map(Box::new)
  352    724   
    }
  353    725   
}
  354    726   
  355         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonUnionsOutput> {
         727  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonEnumsOutput> {
  356    728   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  357    729   
        (*self).into_py(py)
  358    730   
    }
  359    731   
}
  360         -
impl JsonUnionsOutput {
  361         -
    /// Creates a new builder-style object to manufacture [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
  362         -
    pub fn builder() -> crate::output::json_unions_output::Builder {
  363         -
        crate::output::json_unions_output::Builder::default()
         732  +
impl JsonEnumsOutput {
         733  +
    /// Creates a new builder-style object to manufacture [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
         734  +
    pub fn builder() -> crate::output::json_enums_output::Builder {
         735  +
        crate::output::json_enums_output::Builder::default()
  364    736   
    }
  365    737   
}
  366    738   
  367    739   
#[::pyo3::pyclass]
  368         -
/// :param greeting typing.Optional\[str\]:
         740  +
/// :param int_enum1 typing.Optional\[int\]:
         741  +
/// :param int_enum2 typing.Optional\[int\]:
         742  +
/// :param int_enum3 typing.Optional\[int\]:
         743  +
/// :param int_enum_list typing.Optional\[typing.List\[int\]\]:
         744  +
/// :param int_enum_set typing.Optional\[typing.List\[int\]\]:
         745  +
/// :param int_enum_map typing.Optional\[typing.Dict\[str, int\]\]:
  369    746   
/// :rtype None:
  370    747   
#[allow(missing_docs)] // documentation missing in model
  371         -
#[derive(
  372         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  373         -
)]
  374         -
pub struct GreetingWithErrorsOutput {
         748  +
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
         749  +
pub struct JsonIntEnumsOutput {
  375    750   
    #[pyo3(get, set)]
  376         -
    /// :type typing.Optional\[str\]:
         751  +
    /// :type typing.Optional\[int\]:
  377    752   
    #[allow(missing_docs)] // documentation missing in model
  378         -
    pub greeting: ::std::option::Option<::std::string::String>,
  379         -
}
  380         -
impl GreetingWithErrorsOutput {
         753  +
    pub int_enum1: ::std::option::Option<i32>,
         754  +
    #[pyo3(get, set)]
         755  +
    /// :type typing.Optional\[int\]:
  381    756   
    #[allow(missing_docs)] // documentation missing in model
  382         -
    pub fn greeting(&self) -> ::std::option::Option<&str> {
  383         -
        self.greeting.as_deref()
  384         -
    }
  385         -
}
  386         -
#[allow(clippy::new_without_default)]
  387         -
#[allow(clippy::too_many_arguments)]
  388         -
#[::pyo3::pymethods]
  389         -
impl GreetingWithErrorsOutput {
  390         -
    #[new]
  391         -
    pub fn new(greeting: ::std::option::Option<::std::string::String>) -> Self {
  392         -
        Self { greeting }
  393         -
    }
  394         -
    fn __repr__(&self) -> String {
         757  +
    pub int_enum2: ::std::option::Option<i32>,
         758  +
    #[pyo3(get, set)]
         759  +
    /// :type typing.Optional\[int\]:
         760  +
    #[allow(missing_docs)] // documentation missing in model
         761  +
    pub int_enum3: ::std::option::Option<i32>,
         762  +
    #[pyo3(get, set)]
         763  +
    /// :type typing.Optional\[typing.List\[int\]\]:
         764  +
    #[allow(missing_docs)] // documentation missing in model
         765  +
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         766  +
    #[pyo3(get, set)]
         767  +
    /// :type typing.Optional\[typing.List\[int\]\]:
         768  +
    #[allow(missing_docs)] // documentation missing in model
         769  +
    pub int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
         770  +
    #[pyo3(get, set)]
         771  +
    /// :type typing.Optional\[typing.Dict\[str, int\]\]:
         772  +
    #[allow(missing_docs)] // documentation missing in model
         773  +
    pub int_enum_map:
         774  +
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
         775  +
}
         776  +
impl JsonIntEnumsOutput {
         777  +
    #[allow(missing_docs)] // documentation missing in model
         778  +
    pub fn int_enum1(&self) -> ::std::option::Option<i32> {
         779  +
        self.int_enum1
         780  +
    }
         781  +
    #[allow(missing_docs)] // documentation missing in model
         782  +
    pub fn int_enum2(&self) -> ::std::option::Option<i32> {
         783  +
        self.int_enum2
         784  +
    }
         785  +
    #[allow(missing_docs)] // documentation missing in model
         786  +
    pub fn int_enum3(&self) -> ::std::option::Option<i32> {
         787  +
        self.int_enum3
         788  +
    }
         789  +
    #[allow(missing_docs)] // documentation missing in model
         790  +
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
         791  +
        self.int_enum_list.as_deref()
         792  +
    }
         793  +
    #[allow(missing_docs)] // documentation missing in model
         794  +
    pub fn int_enum_set(&self) -> ::std::option::Option<&[i32]> {
         795  +
        self.int_enum_set.as_deref()
         796  +
    }
         797  +
    #[allow(missing_docs)] // documentation missing in model
         798  +
    pub fn int_enum_map(
         799  +
        &self,
         800  +
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
         801  +
        self.int_enum_map.as_ref()
         802  +
    }
         803  +
}
         804  +
#[allow(clippy::new_without_default)]
         805  +
#[allow(clippy::too_many_arguments)]
         806  +
#[::pyo3::pymethods]
         807  +
impl JsonIntEnumsOutput {
         808  +
    #[new]
         809  +
    pub fn new(
         810  +
        int_enum1: ::std::option::Option<i32>,
         811  +
        int_enum2: ::std::option::Option<i32>,
         812  +
        int_enum3: ::std::option::Option<i32>,
         813  +
        int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
         814  +
        int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
         815  +
        int_enum_map: ::std::option::Option<
         816  +
            ::std::collections::HashMap<::std::string::String, i32>,
         817  +
        >,
         818  +
    ) -> Self {
         819  +
        Self {
         820  +
            int_enum1,
         821  +
            int_enum2,
         822  +
            int_enum3,
         823  +
            int_enum_list,
         824  +
            int_enum_set,
         825  +
            int_enum_map,
         826  +
        }
         827  +
    }
         828  +
    fn __repr__(&self) -> String {
  395    829   
        format!("{self:?}")
  396    830   
    }
  397    831   
    fn __str__(&self) -> String {
  398    832   
        format!("{self:?}")
  399    833   
    }
  400    834   
}
  401         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<GreetingWithErrorsOutput> {
         835  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonIntEnumsOutput> {
  402    836   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  403         -
        ob.extract::<GreetingWithErrorsOutput>().map(Box::new)
         837  +
        ob.extract::<JsonIntEnumsOutput>().map(Box::new)
  404    838   
    }
  405    839   
}
  406    840   
  407         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<GreetingWithErrorsOutput> {
         841  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonIntEnumsOutput> {
  408    842   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  409    843   
        (*self).into_py(py)
  410    844   
    }
  411    845   
}
  412         -
impl GreetingWithErrorsOutput {
  413         -
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
  414         -
    pub fn builder() -> crate::output::greeting_with_errors_output::Builder {
  415         -
        crate::output::greeting_with_errors_output::Builder::default()
         846  +
impl JsonIntEnumsOutput {
         847  +
    /// Creates a new builder-style object to manufacture [`JsonIntEnumsOutput`](crate::output::JsonIntEnumsOutput).
         848  +
    pub fn builder() -> crate::output::json_int_enums_output::Builder {
         849  +
        crate::output::json_int_enums_output::Builder::default()
         850  +
    }
         851  +
}
         852  +
         853  +
#[::pyo3::pyclass]
         854  +
/// :param string typing.Optional\[str\]:
         855  +
/// :rtype None:
         856  +
#[allow(missing_docs)] // documentation missing in model
         857  +
#[derive(
         858  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
         859  +
)]
         860  +
pub struct NullOperationOutput {
         861  +
    #[pyo3(get, set)]
         862  +
    /// :type typing.Optional\[str\]:
         863  +
    #[allow(missing_docs)] // documentation missing in model
         864  +
    pub string: ::std::option::Option<::std::string::String>,
         865  +
}
         866  +
impl NullOperationOutput {
         867  +
    #[allow(missing_docs)] // documentation missing in model
         868  +
    pub fn string(&self) -> ::std::option::Option<&str> {
         869  +
        self.string.as_deref()
         870  +
    }
         871  +
}
         872  +
#[allow(clippy::new_without_default)]
         873  +
#[allow(clippy::too_many_arguments)]
         874  +
#[::pyo3::pymethods]
         875  +
impl NullOperationOutput {
         876  +
    #[new]
         877  +
    pub fn new(string: ::std::option::Option<::std::string::String>) -> Self {
         878  +
        Self { string }
         879  +
    }
         880  +
    fn __repr__(&self) -> String {
         881  +
        format!("{self:?}")
         882  +
    }
         883  +
    fn __str__(&self) -> String {
         884  +
        format!("{self:?}")
         885  +
    }
         886  +
}
         887  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NullOperationOutput> {
         888  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
         889  +
        ob.extract::<NullOperationOutput>().map(Box::new)
         890  +
    }
         891  +
}
         892  +
         893  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NullOperationOutput> {
         894  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
         895  +
        (*self).into_py(py)
         896  +
    }
         897  +
}
         898  +
impl NullOperationOutput {
         899  +
    /// Creates a new builder-style object to manufacture [`NullOperationOutput`](crate::output::NullOperationOutput).
         900  +
    pub fn builder() -> crate::output::null_operation_output::Builder {
         901  +
        crate::output::null_operation_output::Builder::default()
  416    902   
    }
  417    903   
}
  418    904   
  419    905   
#[::pyo3::pyclass]
  420    906   
/// :param sparse_string_list typing.Optional\[typing.List\[typing.Optional\[str\]\]\]:
  421    907   
/// :param sparse_string_map typing.Optional\[typing.Dict\[str, typing.Optional\[str\]\]\]:
  422    908   
/// :rtype None:
  423    909   
#[allow(missing_docs)] // documentation missing in model
  424    910   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  425    911   
pub struct SparseNullsOperationOutput {
@@ -477,963 +1768,1949 @@
  497    983   
    }
  498    984   
}
  499    985   
impl SparseNullsOperationOutput {
  500    986   
    /// Creates a new builder-style object to manufacture [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
  501    987   
    pub fn builder() -> crate::output::sparse_nulls_operation_output::Builder {
  502    988   
        crate::output::sparse_nulls_operation_output::Builder::default()
  503    989   
    }
  504    990   
}
  505    991   
  506    992   
#[::pyo3::pyclass]
  507         -
/// :param string typing.Optional\[str\]:
         993  +
/// :param greeting typing.Optional\[str\]:
  508    994   
/// :rtype None:
  509    995   
#[allow(missing_docs)] // documentation missing in model
  510    996   
#[derive(
  511    997   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  512    998   
)]
  513         -
pub struct NullOperationOutput {
         999  +
pub struct GreetingWithErrorsOutput {
  514   1000   
    #[pyo3(get, set)]
  515   1001   
    /// :type typing.Optional\[str\]:
  516   1002   
    #[allow(missing_docs)] // documentation missing in model
  517         -
    pub string: ::std::option::Option<::std::string::String>,
        1003  +
    pub greeting: ::std::option::Option<::std::string::String>,
  518   1004   
}
  519         -
impl NullOperationOutput {
        1005  +
impl GreetingWithErrorsOutput {
  520   1006   
    #[allow(missing_docs)] // documentation missing in model
  521         -
    pub fn string(&self) -> ::std::option::Option<&str> {
  522         -
        self.string.as_deref()
        1007  +
    pub fn greeting(&self) -> ::std::option::Option<&str> {
        1008  +
        self.greeting.as_deref()
  523   1009   
    }
  524   1010   
}
  525   1011   
#[allow(clippy::new_without_default)]
  526   1012   
#[allow(clippy::too_many_arguments)]
  527   1013   
#[::pyo3::pymethods]
  528         -
impl NullOperationOutput {
        1014  +
impl GreetingWithErrorsOutput {
  529   1015   
    #[new]
  530         -
    pub fn new(string: ::std::option::Option<::std::string::String>) -> Self {
  531         -
        Self { string }
        1016  +
    pub fn new(greeting: ::std::option::Option<::std::string::String>) -> Self {
        1017  +
        Self { greeting }
  532   1018   
    }
  533   1019   
    fn __repr__(&self) -> String {
  534   1020   
        format!("{self:?}")
  535   1021   
    }
  536   1022   
    fn __str__(&self) -> String {
  537   1023   
        format!("{self:?}")
  538   1024   
    }
  539   1025   
}
  540         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<NullOperationOutput> {
        1026  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<GreetingWithErrorsOutput> {
  541   1027   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  542         -
        ob.extract::<NullOperationOutput>().map(Box::new)
        1028  +
        ob.extract::<GreetingWithErrorsOutput>().map(Box::new)
  543   1029   
    }
  544   1030   
}
  545   1031   
  546         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<NullOperationOutput> {
        1032  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<GreetingWithErrorsOutput> {
  547   1033   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  548   1034   
        (*self).into_py(py)
  549   1035   
    }
  550   1036   
}
  551         -
impl NullOperationOutput {
  552         -
    /// Creates a new builder-style object to manufacture [`NullOperationOutput`](crate::output::NullOperationOutput).
  553         -
    pub fn builder() -> crate::output::null_operation_output::Builder {
  554         -
        crate::output::null_operation_output::Builder::default()
        1037  +
impl GreetingWithErrorsOutput {
        1038  +
    /// Creates a new builder-style object to manufacture [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
        1039  +
    pub fn builder() -> crate::output::greeting_with_errors_output::Builder {
        1040  +
        crate::output::greeting_with_errors_output::Builder::default()
  555   1041   
    }
  556   1042   
}
  557   1043   
  558   1044   
#[::pyo3::pyclass]
  559         -
/// :param int_enum1 typing.Optional\[int\]:
  560         -
/// :param int_enum2 typing.Optional\[int\]:
  561         -
/// :param int_enum3 typing.Optional\[int\]:
  562         -
/// :param int_enum_list typing.Optional\[typing.List\[int\]\]:
  563         -
/// :param int_enum_set typing.Optional\[typing.List\[int\]\]:
  564         -
/// :param int_enum_map typing.Optional\[typing.Dict\[str, int\]\]:
        1045  +
/// :param contents typing.Optional\[json_rpc11.model.MyUnion\]:
  565   1046   
/// :rtype None:
  566         -
#[allow(missing_docs)] // documentation missing in model
        1047  +
/// A shared structure that contains a single union member.
  567   1048   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  568         -
pub struct JsonIntEnumsOutput {
  569         -
    #[pyo3(get, set)]
  570         -
    /// :type typing.Optional\[int\]:
  571         -
    #[allow(missing_docs)] // documentation missing in model
  572         -
    pub int_enum1: ::std::option::Option<i32>,
  573         -
    #[pyo3(get, set)]
  574         -
    /// :type typing.Optional\[int\]:
  575         -
    #[allow(missing_docs)] // documentation missing in model
  576         -
    pub int_enum2: ::std::option::Option<i32>,
  577         -
    #[pyo3(get, set)]
  578         -
    /// :type typing.Optional\[int\]:
  579         -
    #[allow(missing_docs)] // documentation missing in model
  580         -
    pub int_enum3: ::std::option::Option<i32>,
  581         -
    #[pyo3(get, set)]
  582         -
    /// :type typing.Optional\[typing.List\[int\]\]:
  583         -
    #[allow(missing_docs)] // documentation missing in model
  584         -
    pub int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
  585         -
    #[pyo3(get, set)]
  586         -
    /// :type typing.Optional\[typing.List\[int\]\]:
  587         -
    #[allow(missing_docs)] // documentation missing in model
  588         -
    pub int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
        1049  +
pub struct JsonUnionsOutput {
  589   1050   
    #[pyo3(get, set)]
  590         -
    /// :type typing.Optional\[typing.Dict\[str, int\]\]:
  591         -
    #[allow(missing_docs)] // documentation missing in model
  592         -
    pub int_enum_map:
  593         -
        ::std::option::Option<::std::collections::HashMap<::std::string::String, i32>>,
        1051  +
    /// :type typing.Optional\[json_rpc11.model.MyUnion\]:
        1052  +
    /// A union with a representative set of types for members.
        1053  +
    pub contents: ::std::option::Option<crate::model::MyUnion>,
  594   1054   
}
  595         -
impl JsonIntEnumsOutput {
  596         -
    #[allow(missing_docs)] // documentation missing in model
  597         -
    pub fn int_enum1(&self) -> ::std::option::Option<i32> {
  598         -
        self.int_enum1
        1055  +
impl JsonUnionsOutput {
        1056  +
    /// A union with a representative set of types for members.
        1057  +
    pub fn contents(&self) -> ::std::option::Option<&crate::model::MyUnion> {
        1058  +
        self.contents.as_ref()
  599   1059   
    }
  600         -
    #[allow(missing_docs)] // documentation missing in model
  601         -
    pub fn int_enum2(&self) -> ::std::option::Option<i32> {
  602         -
        self.int_enum2
        1060  +
}
        1061  +
#[allow(clippy::new_without_default)]
        1062  +
#[allow(clippy::too_many_arguments)]
        1063  +
#[::pyo3::pymethods]
        1064  +
impl JsonUnionsOutput {
        1065  +
    #[new]
        1066  +
    pub fn new(contents: ::std::option::Option<crate::model::MyUnion>) -> Self {
        1067  +
        Self { contents }
  603   1068   
    }
  604         -
    #[allow(missing_docs)] // documentation missing in model
  605         -
    pub fn int_enum3(&self) -> ::std::option::Option<i32> {
  606         -
        self.int_enum3
        1069  +
    fn __repr__(&self) -> String {
        1070  +
        format!("{self:?}")
  607   1071   
    }
  608         -
    #[allow(missing_docs)] // documentation missing in model
  609         -
    pub fn int_enum_list(&self) -> ::std::option::Option<&[i32]> {
  610         -
        self.int_enum_list.as_deref()
        1072  +
    fn __str__(&self) -> String {
        1073  +
        format!("{self:?}")
  611   1074   
    }
  612         -
    #[allow(missing_docs)] // documentation missing in model
  613         -
    pub fn int_enum_set(&self) -> ::std::option::Option<&[i32]> {
  614         -
        self.int_enum_set.as_deref()
        1075  +
}
        1076  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonUnionsOutput> {
        1077  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        1078  +
        ob.extract::<JsonUnionsOutput>().map(Box::new)
  615   1079   
    }
  616         -
    #[allow(missing_docs)] // documentation missing in model
  617         -
    pub fn int_enum_map(
  618         -
        &self,
  619         -
    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, i32>> {
  620         -
        self.int_enum_map.as_ref()
        1080  +
}
        1081  +
        1082  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonUnionsOutput> {
        1083  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        1084  +
        (*self).into_py(py)
  621   1085   
    }
  622   1086   
}
  623         -
#[allow(clippy::new_without_default)]
  624         -
#[allow(clippy::too_many_arguments)]
        1087  +
impl JsonUnionsOutput {
        1088  +
    /// Creates a new builder-style object to manufacture [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
        1089  +
    pub fn builder() -> crate::output::json_unions_output::Builder {
        1090  +
        crate::output::json_unions_output::Builder::default()
        1091  +
    }
        1092  +
}
        1093  +
        1094  +
#[::pyo3::pyclass]
        1095  +
/// :rtype None:
        1096  +
#[allow(missing_docs)] // documentation missing in model
        1097  +
#[derive(
        1098  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1099  +
)]
        1100  +
pub struct EndpointOperationOutput {}
        1101  +
#[allow(clippy::new_without_default)]
        1102  +
#[allow(clippy::too_many_arguments)]
  625   1103   
#[::pyo3::pymethods]
  626         -
impl JsonIntEnumsOutput {
        1104  +
impl EndpointOperationOutput {
  627   1105   
    #[new]
  628         -
    pub fn new(
  629         -
        int_enum1: ::std::option::Option<i32>,
  630         -
        int_enum2: ::std::option::Option<i32>,
  631         -
        int_enum3: ::std::option::Option<i32>,
  632         -
        int_enum_list: ::std::option::Option<::std::vec::Vec<i32>>,
  633         -
        int_enum_set: ::std::option::Option<::std::vec::Vec<i32>>,
  634         -
        int_enum_map: ::std::option::Option<
  635         -
            ::std::collections::HashMap<::std::string::String, i32>,
  636         -
        >,
  637         -
    ) -> Self {
  638         -
        Self {
  639         -
            int_enum1,
  640         -
            int_enum2,
  641         -
            int_enum3,
  642         -
            int_enum_list,
  643         -
            int_enum_set,
  644         -
            int_enum_map,
  645         -
        }
        1106  +
    pub fn new() -> Self {
        1107  +
        Self {}
  646   1108   
    }
  647   1109   
    fn __repr__(&self) -> String {
  648   1110   
        format!("{self:?}")
  649   1111   
    }
  650   1112   
    fn __str__(&self) -> String {
  651   1113   
        format!("{self:?}")
  652   1114   
    }
  653   1115   
}
  654         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonIntEnumsOutput> {
        1116  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EndpointOperationOutput> {
  655   1117   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  656         -
        ob.extract::<JsonIntEnumsOutput>().map(Box::new)
        1118  +
        ob.extract::<EndpointOperationOutput>().map(Box::new)
  657   1119   
    }
  658   1120   
}
  659   1121   
  660         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonIntEnumsOutput> {
        1122  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointOperationOutput> {
  661   1123   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  662   1124   
        (*self).into_py(py)
  663   1125   
    }
  664   1126   
}
  665         -
impl JsonIntEnumsOutput {
  666         -
    /// Creates a new builder-style object to manufacture [`JsonIntEnumsOutput`](crate::output::JsonIntEnumsOutput).
  667         -
    pub fn builder() -> crate::output::json_int_enums_output::Builder {
  668         -
        crate::output::json_int_enums_output::Builder::default()
        1127  +
impl EndpointOperationOutput {
        1128  +
    /// Creates a new builder-style object to manufacture [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
        1129  +
    pub fn builder() -> crate::output::endpoint_operation_output::Builder {
        1130  +
        crate::output::endpoint_operation_output::Builder::default()
  669   1131   
    }
  670   1132   
}
  671   1133   
  672   1134   
#[::pyo3::pyclass]
  673         -
/// :param foo_enum1 typing.Optional\[json_rpc11.model.FooEnum\]:
  674         -
/// :param foo_enum2 typing.Optional\[json_rpc11.model.FooEnum\]:
  675         -
/// :param foo_enum3 typing.Optional\[json_rpc11.model.FooEnum\]:
  676         -
/// :param foo_enum_list typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
  677         -
/// :param foo_enum_set typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
  678         -
/// :param foo_enum_map typing.Optional\[typing.Dict\[str, json_rpc11.model.FooEnum\]\]:
  679   1135   
/// :rtype None:
  680   1136   
#[allow(missing_docs)] // documentation missing in model
  681         -
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  682         -
pub struct JsonEnumsOutput {
  683         -
    #[pyo3(get, set)]
  684         -
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
  685         -
    #[allow(missing_docs)] // documentation missing in model
  686         -
    pub foo_enum1: ::std::option::Option<crate::model::FooEnum>,
  687         -
    #[pyo3(get, set)]
  688         -
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
  689         -
    #[allow(missing_docs)] // documentation missing in model
  690         -
    pub foo_enum2: ::std::option::Option<crate::model::FooEnum>,
  691         -
    #[pyo3(get, set)]
  692         -
    /// :type typing.Optional\[json_rpc11.model.FooEnum\]:
  693         -
    #[allow(missing_docs)] // documentation missing in model
  694         -
    pub foo_enum3: ::std::option::Option<crate::model::FooEnum>,
  695         -
    #[pyo3(get, set)]
  696         -
    /// :type typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
  697         -
    #[allow(missing_docs)] // documentation missing in model
  698         -
    pub foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
  699         -
    #[pyo3(get, set)]
  700         -
    /// :type typing.Optional\[typing.List\[json_rpc11.model.FooEnum\]\]:
  701         -
    #[allow(missing_docs)] // documentation missing in model
  702         -
    pub foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
  703         -
    #[pyo3(get, set)]
  704         -
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.FooEnum\]\]:
  705         -
    #[allow(missing_docs)] // documentation missing in model
  706         -
    pub foo_enum_map: ::std::option::Option<
  707         -
        ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
  708         -
    >,
  709         -
}
  710         -
impl JsonEnumsOutput {
  711         -
    #[allow(missing_docs)] // documentation missing in model
  712         -
    pub fn foo_enum1(&self) -> ::std::option::Option<&crate::model::FooEnum> {
  713         -
        self.foo_enum1.as_ref()
        1137  +
#[derive(
        1138  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1139  +
)]
        1140  +
pub struct EndpointWithHostLabelOperationOutput {}
        1141  +
#[allow(clippy::new_without_default)]
        1142  +
#[allow(clippy::too_many_arguments)]
        1143  +
#[::pyo3::pymethods]
        1144  +
impl EndpointWithHostLabelOperationOutput {
        1145  +
    #[new]
        1146  +
    pub fn new() -> Self {
        1147  +
        Self {}
  714   1148   
    }
  715         -
    #[allow(missing_docs)] // documentation missing in model
  716         -
    pub fn foo_enum2(&self) -> ::std::option::Option<&crate::model::FooEnum> {
  717         -
        self.foo_enum2.as_ref()
        1149  +
    fn __repr__(&self) -> String {
        1150  +
        format!("{self:?}")
  718   1151   
    }
  719         -
    #[allow(missing_docs)] // documentation missing in model
  720         -
    pub fn foo_enum3(&self) -> ::std::option::Option<&crate::model::FooEnum> {
  721         -
        self.foo_enum3.as_ref()
        1152  +
    fn __str__(&self) -> String {
        1153  +
        format!("{self:?}")
  722   1154   
    }
  723         -
    #[allow(missing_docs)] // documentation missing in model
  724         -
    pub fn foo_enum_list(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
  725         -
        self.foo_enum_list.as_deref()
        1155  +
}
        1156  +
impl<'source> ::pyo3::FromPyObject<'source>
        1157  +
    for std::boxed::Box<EndpointWithHostLabelOperationOutput>
        1158  +
{
        1159  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        1160  +
        ob.extract::<EndpointWithHostLabelOperationOutput>()
        1161  +
            .map(Box::new)
  726   1162   
    }
  727         -
    #[allow(missing_docs)] // documentation missing in model
  728         -
    pub fn foo_enum_set(&self) -> ::std::option::Option<&[crate::model::FooEnum]> {
  729         -
        self.foo_enum_set.as_deref()
        1163  +
}
        1164  +
        1165  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EndpointWithHostLabelOperationOutput> {
        1166  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        1167  +
        (*self).into_py(py)
  730   1168   
    }
  731         -
    #[allow(missing_docs)] // documentation missing in model
  732         -
    pub fn foo_enum_map(
  733         -
        &self,
  734         -
    ) -> ::std::option::Option<
  735         -
        &::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
  736         -
    > {
  737         -
        self.foo_enum_map.as_ref()
        1169  +
}
        1170  +
impl EndpointWithHostLabelOperationOutput {
        1171  +
    /// Creates a new builder-style object to manufacture [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
        1172  +
    pub fn builder() -> crate::output::endpoint_with_host_label_operation_output::Builder {
        1173  +
        crate::output::endpoint_with_host_label_operation_output::Builder::default()
  738   1174   
    }
  739   1175   
}
        1176  +
        1177  +
#[::pyo3::pyclass]
        1178  +
/// :rtype None:
        1179  +
#[allow(missing_docs)] // documentation missing in model
        1180  +
#[derive(
        1181  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1182  +
)]
        1183  +
pub struct HostWithPathOperationOutput {}
  740   1184   
#[allow(clippy::new_without_default)]
  741   1185   
#[allow(clippy::too_many_arguments)]
  742   1186   
#[::pyo3::pymethods]
  743         -
impl JsonEnumsOutput {
        1187  +
impl HostWithPathOperationOutput {
  744   1188   
    #[new]
  745         -
    pub fn new(
  746         -
        foo_enum1: ::std::option::Option<crate::model::FooEnum>,
  747         -
        foo_enum2: ::std::option::Option<crate::model::FooEnum>,
  748         -
        foo_enum3: ::std::option::Option<crate::model::FooEnum>,
  749         -
        foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
  750         -
        foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
  751         -
        foo_enum_map: ::std::option::Option<
  752         -
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
  753         -
        >,
  754         -
    ) -> Self {
  755         -
        Self {
  756         -
            foo_enum1,
  757         -
            foo_enum2,
  758         -
            foo_enum3,
  759         -
            foo_enum_list,
  760         -
            foo_enum_set,
  761         -
            foo_enum_map,
  762         -
        }
        1189  +
    pub fn new() -> Self {
        1190  +
        Self {}
  763   1191   
    }
  764   1192   
    fn __repr__(&self) -> String {
  765   1193   
        format!("{self:?}")
  766   1194   
    }
  767   1195   
    fn __str__(&self) -> String {
  768   1196   
        format!("{self:?}")
  769   1197   
    }
  770   1198   
}
  771         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<JsonEnumsOutput> {
        1199  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<HostWithPathOperationOutput> {
  772   1200   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  773         -
        ob.extract::<JsonEnumsOutput>().map(Box::new)
        1201  +
        ob.extract::<HostWithPathOperationOutput>().map(Box::new)
  774   1202   
    }
  775   1203   
}
  776   1204   
  777         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<JsonEnumsOutput> {
        1205  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<HostWithPathOperationOutput> {
  778   1206   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  779   1207   
        (*self).into_py(py)
  780   1208   
    }
  781   1209   
}
  782         -
impl JsonEnumsOutput {
  783         -
    /// Creates a new builder-style object to manufacture [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
  784         -
    pub fn builder() -> crate::output::json_enums_output::Builder {
  785         -
        crate::output::json_enums_output::Builder::default()
        1210  +
impl HostWithPathOperationOutput {
        1211  +
    /// Creates a new builder-style object to manufacture [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
        1212  +
    pub fn builder() -> crate::output::host_with_path_operation_output::Builder {
        1213  +
        crate::output::host_with_path_operation_output::Builder::default()
  786   1214   
    }
  787   1215   
}
  788   1216   
  789   1217   
#[::pyo3::pyclass]
  790         -
/// :param inline_document typing.Optional\[json_rpc11.types.Document\]:
        1218  +
/// :param datetime typing.Optional\[json_rpc11.types.DateTime\]:
  791   1219   
/// :rtype None:
  792   1220   
#[allow(missing_docs)] // documentation missing in model
  793         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  794         -
pub struct PutAndGetInlineDocumentsOutput {
        1221  +
#[derive(
        1222  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1223  +
)]
        1224  +
pub struct DatetimeOffsetsOutput {
  795   1225   
    #[pyo3(get, set)]
  796         -
    /// :type typing.Optional\[json_rpc11.types.Document\]:
        1226  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
  797   1227   
    #[allow(missing_docs)] // documentation missing in model
  798         -
    pub inline_document: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        1228  +
    pub datetime: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  799   1229   
}
  800         -
impl PutAndGetInlineDocumentsOutput {
        1230  +
impl DatetimeOffsetsOutput {
  801   1231   
    #[allow(missing_docs)] // documentation missing in model
  802         -
    pub fn inline_document(
        1232  +
    pub fn datetime(
  803   1233   
        &self,
  804         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Document> {
  805         -
        self.inline_document.as_ref()
        1234  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        1235  +
        self.datetime.as_ref()
  806   1236   
    }
  807   1237   
}
  808   1238   
#[allow(clippy::new_without_default)]
  809   1239   
#[allow(clippy::too_many_arguments)]
  810   1240   
#[::pyo3::pymethods]
  811         -
impl PutAndGetInlineDocumentsOutput {
        1241  +
impl DatetimeOffsetsOutput {
  812   1242   
    #[new]
  813   1243   
    pub fn new(
  814         -
        inline_document: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        1244  +
        datetime: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  815   1245   
    ) -> Self {
  816         -
        Self { inline_document }
        1246  +
        Self { datetime }
  817   1247   
    }
  818   1248   
    fn __repr__(&self) -> String {
  819   1249   
        format!("{self:?}")
  820   1250   
    }
  821   1251   
    fn __str__(&self) -> String {
  822   1252   
        format!("{self:?}")
  823   1253   
    }
  824   1254   
}
  825         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutAndGetInlineDocumentsOutput> {
        1255  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<DatetimeOffsetsOutput> {
  826   1256   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  827         -
        ob.extract::<PutAndGetInlineDocumentsOutput>().map(Box::new)
        1257  +
        ob.extract::<DatetimeOffsetsOutput>().map(Box::new)
  828   1258   
    }
  829   1259   
}
  830   1260   
  831         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutAndGetInlineDocumentsOutput> {
        1261  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<DatetimeOffsetsOutput> {
  832   1262   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  833   1263   
        (*self).into_py(py)
  834   1264   
    }
  835   1265   
}
  836         -
impl PutAndGetInlineDocumentsOutput {
  837         -
    /// Creates a new builder-style object to manufacture [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
  838         -
    pub fn builder() -> crate::output::put_and_get_inline_documents_output::Builder {
  839         -
        crate::output::put_and_get_inline_documents_output::Builder::default()
        1266  +
impl DatetimeOffsetsOutput {
        1267  +
    /// Creates a new builder-style object to manufacture [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
        1268  +
    pub fn builder() -> crate::output::datetime_offsets_output::Builder {
        1269  +
        crate::output::datetime_offsets_output::Builder::default()
  840   1270   
    }
  841   1271   
}
  842   1272   
  843   1273   
#[::pyo3::pyclass]
  844         -
/// :param value typing.Optional\[str\]:
        1274  +
/// :param datetime typing.Optional\[json_rpc11.types.DateTime\]:
  845   1275   
/// :rtype None:
  846   1276   
#[allow(missing_docs)] // documentation missing in model
  847   1277   
#[derive(
  848   1278   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  849   1279   
)]
  850         -
pub struct OperationWithOptionalInputOutputOutput {
        1280  +
pub struct FractionalSecondsOutput {
  851   1281   
    #[pyo3(get, set)]
  852         -
    /// :type typing.Optional\[str\]:
        1282  +
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
  853   1283   
    #[allow(missing_docs)] // documentation missing in model
  854         -
    pub value: ::std::option::Option<::std::string::String>,
        1284  +
    pub datetime: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
  855   1285   
}
  856         -
impl OperationWithOptionalInputOutputOutput {
        1286  +
impl FractionalSecondsOutput {
  857   1287   
    #[allow(missing_docs)] // documentation missing in model
  858         -
    pub fn value(&self) -> ::std::option::Option<&str> {
  859         -
        self.value.as_deref()
        1288  +
    pub fn datetime(
        1289  +
        &self,
        1290  +
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        1291  +
        self.datetime.as_ref()
  860   1292   
    }
  861   1293   
}
  862   1294   
#[allow(clippy::new_without_default)]
  863   1295   
#[allow(clippy::too_many_arguments)]
  864   1296   
#[::pyo3::pymethods]
  865         -
impl OperationWithOptionalInputOutputOutput {
        1297  +
impl FractionalSecondsOutput {
  866   1298   
    #[new]
  867         -
    pub fn new(value: ::std::option::Option<::std::string::String>) -> Self {
  868         -
        Self { value }
        1299  +
    pub fn new(
        1300  +
        datetime: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1301  +
    ) -> Self {
        1302  +
        Self { datetime }
  869   1303   
    }
  870   1304   
    fn __repr__(&self) -> String {
  871   1305   
        format!("{self:?}")
  872   1306   
    }
  873   1307   
    fn __str__(&self) -> String {
  874   1308   
        format!("{self:?}")
  875   1309   
    }
  876   1310   
}
  877         -
impl<'source> ::pyo3::FromPyObject<'source>
  878         -
    for std::boxed::Box<OperationWithOptionalInputOutputOutput>
  879         -
{
        1311  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<FractionalSecondsOutput> {
  880   1312   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  881         -
        ob.extract::<OperationWithOptionalInputOutputOutput>()
  882         -
            .map(Box::new)
        1313  +
        ob.extract::<FractionalSecondsOutput>().map(Box::new)
  883   1314   
    }
  884   1315   
}
  885   1316   
  886         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<OperationWithOptionalInputOutputOutput> {
        1317  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<FractionalSecondsOutput> {
  887   1318   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  888   1319   
        (*self).into_py(py)
  889   1320   
    }
  890   1321   
}
  891         -
impl OperationWithOptionalInputOutputOutput {
  892         -
    /// Creates a new builder-style object to manufacture [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
  893         -
    pub fn builder() -> crate::output::operation_with_optional_input_output_output::Builder {
  894         -
        crate::output::operation_with_optional_input_output_output::Builder::default()
        1322  +
impl FractionalSecondsOutput {
        1323  +
    /// Creates a new builder-style object to manufacture [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
        1324  +
    pub fn builder() -> crate::output::fractional_seconds_output::Builder {
        1325  +
        crate::output::fractional_seconds_output::Builder::default()
  895   1326   
    }
  896   1327   
}
  897   1328   
  898   1329   
#[::pyo3::pyclass]
  899         -
/// :param float_value typing.Optional\[float\]:
  900         -
/// :param double_value typing.Optional\[float\]:
  901   1330   
/// :rtype None:
  902   1331   
#[allow(missing_docs)] // documentation missing in model
  903         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  904         -
pub struct SimpleScalarPropertiesOutput {
  905         -
    #[pyo3(get, set)]
  906         -
    /// :type typing.Optional\[float\]:
  907         -
    #[allow(missing_docs)] // documentation missing in model
  908         -
    pub float_value: ::std::option::Option<f32>,
  909         -
    #[pyo3(get, set)]
  910         -
    /// :type typing.Optional\[float\]:
  911         -
    #[allow(missing_docs)] // documentation missing in model
  912         -
    pub double_value: ::std::option::Option<f64>,
        1332  +
#[derive(
        1333  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1334  +
)]
        1335  +
pub struct PutWithContentEncodingOutput {}
        1336  +
#[allow(clippy::new_without_default)]
        1337  +
#[allow(clippy::too_many_arguments)]
        1338  +
#[::pyo3::pymethods]
        1339  +
impl PutWithContentEncodingOutput {
        1340  +
    #[new]
        1341  +
    pub fn new() -> Self {
        1342  +
        Self {}
        1343  +
    }
        1344  +
    fn __repr__(&self) -> String {
        1345  +
        format!("{self:?}")
        1346  +
    }
        1347  +
    fn __str__(&self) -> String {
        1348  +
        format!("{self:?}")
        1349  +
    }
  913   1350   
}
  914         -
impl SimpleScalarPropertiesOutput {
  915         -
    #[allow(missing_docs)] // documentation missing in model
  916         -
    pub fn float_value(&self) -> ::std::option::Option<f32> {
  917         -
        self.float_value
        1351  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<PutWithContentEncodingOutput> {
        1352  +
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
        1353  +
        ob.extract::<PutWithContentEncodingOutput>().map(Box::new)
  918   1354   
    }
  919         -
    #[allow(missing_docs)] // documentation missing in model
  920         -
    pub fn double_value(&self) -> ::std::option::Option<f64> {
  921         -
        self.double_value
        1355  +
}
        1356  +
        1357  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<PutWithContentEncodingOutput> {
        1358  +
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
        1359  +
        (*self).into_py(py)
  922   1360   
    }
  923   1361   
}
        1362  +
impl PutWithContentEncodingOutput {
        1363  +
    /// Creates a new builder-style object to manufacture [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
        1364  +
    pub fn builder() -> crate::output::put_with_content_encoding_output::Builder {
        1365  +
        crate::output::put_with_content_encoding_output::Builder::default()
        1366  +
    }
        1367  +
}
        1368  +
        1369  +
#[::pyo3::pyclass]
        1370  +
/// :rtype None:
        1371  +
#[allow(missing_docs)] // documentation missing in model
        1372  +
#[derive(
        1373  +
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
        1374  +
)]
        1375  +
pub struct ContentTypeParametersOutput {}
  924   1376   
#[allow(clippy::new_without_default)]
  925   1377   
#[allow(clippy::too_many_arguments)]
  926   1378   
#[::pyo3::pymethods]
  927         -
impl SimpleScalarPropertiesOutput {
        1379  +
impl ContentTypeParametersOutput {
  928   1380   
    #[new]
  929         -
    pub fn new(
  930         -
        float_value: ::std::option::Option<f32>,
  931         -
        double_value: ::std::option::Option<f64>,
  932         -
    ) -> Self {
  933         -
        Self {
  934         -
            float_value,
  935         -
            double_value,
  936         -
        }
        1381  +
    pub fn new() -> Self {
        1382  +
        Self {}
  937   1383   
    }
  938   1384   
    fn __repr__(&self) -> String {
  939   1385   
        format!("{self:?}")
  940   1386   
    }
  941   1387   
    fn __str__(&self) -> String {
  942   1388   
        format!("{self:?}")
  943   1389   
    }
  944   1390   
}
  945         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SimpleScalarPropertiesOutput> {
        1391  +
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ContentTypeParametersOutput> {
  946   1392   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  947         -
        ob.extract::<SimpleScalarPropertiesOutput>().map(Box::new)
        1393  +
        ob.extract::<ContentTypeParametersOutput>().map(Box::new)
  948   1394   
    }
  949   1395   
}
  950   1396   
  951         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SimpleScalarPropertiesOutput> {
        1397  +
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ContentTypeParametersOutput> {
  952   1398   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  953   1399   
        (*self).into_py(py)
  954   1400   
    }
  955   1401   
}
  956         -
impl SimpleScalarPropertiesOutput {
  957         -
    /// Creates a new builder-style object to manufacture [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
  958         -
    pub fn builder() -> crate::output::simple_scalar_properties_output::Builder {
  959         -
        crate::output::simple_scalar_properties_output::Builder::default()
        1402  +
impl ContentTypeParametersOutput {
        1403  +
    /// Creates a new builder-style object to manufacture [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
        1404  +
    pub fn builder() -> crate::output::content_type_parameters_output::Builder {
        1405  +
        crate::output::content_type_parameters_output::Builder::default()
  960   1406   
    }
  961   1407   
}
        1408  +
/// See [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
        1409  +
pub mod empty_operation_output {
  962   1410   
  963         -
#[::pyo3::pyclass]
  964         -
/// :param blob typing.Optional\[json_rpc11.types.Blob\]:
  965         -
/// :param boolean typing.Optional\[bool\]:
  966         -
/// :param double typing.Optional\[float\]:
  967         -
/// :param empty_struct typing.Optional\[json_rpc11.model.EmptyStruct\]:
  968         -
/// :param float typing.Optional\[float\]:
  969         -
/// :param httpdate_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
  970         -
/// :param integer typing.Optional\[int\]:
  971         -
/// :param iso8601_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
  972         -
/// :param json_value typing.Optional\[str\]:
  973         -
/// :param list_of_lists typing.Optional\[typing.List\[typing.List\[str\]\]\]:
  974         -
/// :param list_of_maps_of_strings typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
  975         -
/// :param list_of_strings typing.Optional\[typing.List\[str\]\]:
  976         -
/// :param list_of_structs typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
  977         -
/// :param long typing.Optional\[int\]:
  978         -
/// :param map_of_lists_of_strings typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
  979         -
/// :param map_of_maps typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
  980         -
/// :param map_of_strings typing.Optional\[typing.Dict\[str, str\]\]:
  981         -
/// :param map_of_structs typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
  982         -
/// :param recursive_list typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
  983         -
/// :param recursive_map typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
  984         -
/// :param recursive_struct typing.Optional\[json_rpc11.model.KitchenSink\]:
  985         -
/// :param simple_struct typing.Optional\[json_rpc11.model.SimpleStruct\]:
  986         -
/// :param string typing.Optional\[str\]:
  987         -
/// :param struct_with_json_name typing.Optional\[json_rpc11.model.StructWithJsonName\]:
  988         -
/// :param timestamp typing.Optional\[json_rpc11.types.DateTime\]:
  989         -
/// :param unix_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
  990         -
/// :rtype None:
  991         -
#[allow(missing_docs)] // documentation missing in model
  992         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  993         -
pub struct KitchenSinkOperationOutput {
  994         -
    #[pyo3(get, set)]
  995         -
    /// :type typing.Optional\[json_rpc11.types.Blob\]:
  996         -
    #[allow(missing_docs)] // documentation missing in model
  997         -
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
  998         -
    #[pyo3(get, set)]
  999         -
    /// :type typing.Optional\[bool\]:
 1000         -
    #[allow(missing_docs)] // documentation missing in model
 1001         -
    pub boolean: ::std::option::Option<bool>,
 1002         -
    #[pyo3(get, set)]
 1003         -
    /// :type typing.Optional\[float\]:
 1004         -
    #[allow(missing_docs)] // documentation missing in model
 1005         -
    pub double: ::std::option::Option<f64>,
 1006         -
    #[pyo3(get, set)]
 1007         -
    /// :type typing.Optional\[json_rpc11.model.EmptyStruct\]:
 1008         -
    #[allow(missing_docs)] // documentation missing in model
 1009         -
    pub empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 1010         -
    #[pyo3(get, set)]
 1011         -
    /// :type typing.Optional\[float\]:
 1012         -
    #[allow(missing_docs)] // documentation missing in model
 1013         -
    pub float: ::std::option::Option<f32>,
 1014         -
    #[pyo3(get, set)]
 1015         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
 1016         -
    #[allow(missing_docs)] // documentation missing in model
 1017         -
    pub httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1018         -
    #[pyo3(get, set)]
 1019         -
    /// :type typing.Optional\[int\]:
 1020         -
    #[allow(missing_docs)] // documentation missing in model
 1021         -
    pub integer: ::std::option::Option<i32>,
 1022         -
    #[pyo3(get, set)]
 1023         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
 1024         -
    #[allow(missing_docs)] // documentation missing in model
 1025         -
    pub iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1026         -
    #[pyo3(get, set)]
 1027         -
    /// :type typing.Optional\[str\]:
 1028         -
    #[allow(missing_docs)] // documentation missing in model
 1029         -
    pub json_value: ::std::option::Option<::std::string::String>,
 1030         -
    #[pyo3(get, set)]
 1031         -
    /// :type typing.Optional\[typing.List\[typing.List\[str\]\]\]:
 1032         -
    #[allow(missing_docs)] // documentation missing in model
 1033         -
    pub list_of_lists:
        1411  +
    impl ::std::convert::From<Builder> for crate::output::EmptyOperationOutput {
        1412  +
        fn from(builder: Builder) -> Self {
        1413  +
            builder.build()
        1414  +
        }
        1415  +
    }
        1416  +
    /// A builder for [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
        1417  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1418  +
    pub struct Builder {}
        1419  +
    impl Builder {
        1420  +
        /// Consumes the builder and constructs a [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
        1421  +
        pub fn build(self) -> crate::output::EmptyOperationOutput {
        1422  +
            self.build_enforcing_required_and_enum_traits()
        1423  +
        }
        1424  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::EmptyOperationOutput {
        1425  +
            crate::output::EmptyOperationOutput {}
        1426  +
        }
        1427  +
    }
        1428  +
}
        1429  +
/// See [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
        1430  +
pub mod kitchen_sink_operation_output {
        1431  +
        1432  +
    impl ::std::convert::From<Builder> for crate::output::KitchenSinkOperationOutput {
        1433  +
        fn from(builder: Builder) -> Self {
        1434  +
            builder.build()
        1435  +
        }
        1436  +
    }
        1437  +
    /// A builder for [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
        1438  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1439  +
    pub struct Builder {
        1440  +
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1441  +
        pub(crate) boolean: ::std::option::Option<bool>,
        1442  +
        pub(crate) double: ::std::option::Option<f64>,
        1443  +
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
        1444  +
        pub(crate) float: ::std::option::Option<f32>,
        1445  +
        pub(crate) httpdate_timestamp:
        1446  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1447  +
        pub(crate) integer: ::std::option::Option<i32>,
        1448  +
        pub(crate) iso8601_timestamp:
        1449  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1450  +
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
        1451  +
        pub(crate) list_of_lists:
 1034   1452   
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 1035         -
    #[pyo3(get, set)]
 1036         -
    /// :type typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
 1037         -
    #[allow(missing_docs)] // documentation missing in model
 1038         -
    pub list_of_maps_of_strings: ::std::option::Option<
 1039         -
        ::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
        1453  +
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
        1454  +
            ::std::vec::Vec<
        1455  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1040   1456   
            >,
 1041         -
    #[pyo3(get, set)]
 1042         -
    /// :type typing.Optional\[typing.List\[str\]\]:
 1043         -
    #[allow(missing_docs)] // documentation missing in model
 1044         -
    pub list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1045         -
    #[pyo3(get, set)]
 1046         -
    /// :type typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
 1047         -
    #[allow(missing_docs)] // documentation missing in model
 1048         -
    pub list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 1049         -
    #[pyo3(get, set)]
 1050         -
    /// :type typing.Optional\[int\]:
 1051         -
    #[allow(missing_docs)] // documentation missing in model
 1052         -
    pub long: ::std::option::Option<i64>,
 1053         -
    #[pyo3(get, set)]
 1054         -
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
 1055         -
    #[allow(missing_docs)] // documentation missing in model
 1056         -
    pub map_of_lists_of_strings: ::std::option::Option<
 1057         -
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 1058   1457   
        >,
 1059         -
    #[pyo3(get, set)]
 1060         -
    /// :type typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
 1061         -
    #[allow(missing_docs)] // documentation missing in model
 1062         -
    pub map_of_maps: ::std::option::Option<
        1458  +
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1459  +
        pub(crate) list_of_structs:
        1460  +
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1461  +
        pub(crate) long: ::std::option::Option<i64>,
        1462  +
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
        1463  +
            ::std::collections::HashMap<
        1464  +
                ::std::string::String,
        1465  +
                ::std::vec::Vec<::std::string::String>,
        1466  +
            >,
        1467  +
        >,
        1468  +
        pub(crate) map_of_maps: ::std::option::Option<
 1063   1469   
            ::std::collections::HashMap<
 1064   1470   
                ::std::string::String,
 1065   1471   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1066   1472   
            >,
 1067   1473   
        >,
 1068         -
    #[pyo3(get, set)]
 1069         -
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
 1070         -
    #[allow(missing_docs)] // documentation missing in model
 1071         -
    pub map_of_strings: ::std::option::Option<
        1474  +
        pub(crate) map_of_strings: ::std::option::Option<
 1072   1475   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1073   1476   
        >,
 1074         -
    #[pyo3(get, set)]
 1075         -
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
 1076         -
    #[allow(missing_docs)] // documentation missing in model
 1077         -
    pub map_of_structs: ::std::option::Option<
        1477  +
        pub(crate) map_of_structs: ::std::option::Option<
 1078   1478   
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1079   1479   
        >,
 1080         -
    #[pyo3(get, set)]
 1081         -
    /// :type typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
 1082         -
    #[allow(missing_docs)] // documentation missing in model
 1083         -
    pub recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 1084         -
    #[pyo3(get, set)]
 1085         -
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
 1086         -
    #[allow(missing_docs)] // documentation missing in model
 1087         -
    pub recursive_map: ::std::option::Option<
        1480  +
        pub(crate) recursive_list:
        1481  +
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1482  +
        pub(crate) recursive_map: ::std::option::Option<
 1088   1483   
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1089   1484   
        >,
 1090         -
    #[pyo3(get, set)]
 1091         -
    /// :type typing.Optional\[json_rpc11.model.KitchenSink\]:
 1092         -
    #[allow(missing_docs)] // documentation missing in model
 1093         -
    pub recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 1094         -
    #[pyo3(get, set)]
 1095         -
    /// :type typing.Optional\[json_rpc11.model.SimpleStruct\]:
 1096         -
    #[allow(missing_docs)] // documentation missing in model
 1097         -
    pub simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
 1098         -
    #[pyo3(get, set)]
 1099         -
    /// :type typing.Optional\[str\]:
 1100         -
    #[allow(missing_docs)] // documentation missing in model
 1101         -
    pub string: ::std::option::Option<::std::string::String>,
 1102         -
    #[pyo3(get, set)]
 1103         -
    /// :type typing.Optional\[json_rpc11.model.StructWithJsonName\]:
 1104         -
    #[allow(missing_docs)] // documentation missing in model
 1105         -
    pub struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
 1106         -
    #[pyo3(get, set)]
 1107         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
 1108         -
    #[allow(missing_docs)] // documentation missing in model
 1109         -
    pub timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1110         -
    #[pyo3(get, set)]
 1111         -
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
 1112         -
    #[allow(missing_docs)] // documentation missing in model
 1113         -
    pub unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1114         -
}
 1115         -
impl KitchenSinkOperationOutput {
        1485  +
        pub(crate) recursive_struct:
        1486  +
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1487  +
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        1488  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
        1489  +
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        1490  +
        pub(crate) timestamp:
        1491  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1492  +
        pub(crate) unix_timestamp:
        1493  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1494  +
    }
        1495  +
    impl Builder {
 1116   1496   
        #[allow(missing_docs)] // documentation missing in model
 1117         -
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
 1118         -
        self.blob.as_ref()
        1497  +
        pub fn blob(
        1498  +
            mut self,
        1499  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1500  +
        ) -> Self {
        1501  +
            self.blob = input;
        1502  +
            self
 1119   1503   
        }
 1120   1504   
        #[allow(missing_docs)] // documentation missing in model
 1121         -
    pub fn boolean(&self) -> ::std::option::Option<bool> {
 1122         -
        self.boolean
        1505  +
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
        1506  +
            self.boolean = input;
        1507  +
            self
 1123   1508   
        }
 1124   1509   
        #[allow(missing_docs)] // documentation missing in model
 1125         -
    pub fn double(&self) -> ::std::option::Option<f64> {
 1126         -
        self.double
        1510  +
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
        1511  +
            self.double = input;
        1512  +
            self
 1127   1513   
        }
 1128   1514   
        #[allow(missing_docs)] // documentation missing in model
 1129         -
    pub fn empty_struct(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
 1130         -
        self.empty_struct.as_ref()
        1515  +
        pub fn empty_struct(
        1516  +
            mut self,
        1517  +
            input: ::std::option::Option<crate::model::EmptyStruct>,
        1518  +
        ) -> Self {
        1519  +
            self.empty_struct = input;
        1520  +
            self
 1131   1521   
        }
 1132   1522   
        #[allow(missing_docs)] // documentation missing in model
 1133         -
    pub fn float(&self) -> ::std::option::Option<f32> {
 1134         -
        self.float
        1523  +
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
        1524  +
            self.float = input;
        1525  +
            self
 1135   1526   
        }
 1136   1527   
        #[allow(missing_docs)] // documentation missing in model
 1137   1528   
        pub fn httpdate_timestamp(
 1138         -
        &self,
 1139         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 1140         -
        self.httpdate_timestamp.as_ref()
        1529  +
            mut self,
        1530  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1531  +
        ) -> Self {
        1532  +
            self.httpdate_timestamp = input;
        1533  +
            self
 1141   1534   
        }
 1142   1535   
        #[allow(missing_docs)] // documentation missing in model
 1143         -
    pub fn integer(&self) -> ::std::option::Option<i32> {
 1144         -
        self.integer
        1536  +
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
        1537  +
            self.integer = input;
        1538  +
            self
 1145   1539   
        }
 1146   1540   
        #[allow(missing_docs)] // documentation missing in model
 1147   1541   
        pub fn iso8601_timestamp(
 1148         -
        &self,
 1149         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 1150         -
        self.iso8601_timestamp.as_ref()
        1542  +
            mut self,
        1543  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1544  +
        ) -> Self {
        1545  +
            self.iso8601_timestamp = input;
        1546  +
            self
 1151   1547   
        }
 1152   1548   
        #[allow(missing_docs)] // documentation missing in model
 1153         -
    pub fn json_value(&self) -> ::std::option::Option<&str> {
 1154         -
        self.json_value.as_deref()
        1549  +
        pub fn json_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1550  +
            self.json_value = input;
        1551  +
            self
 1155   1552   
        }
 1156   1553   
        #[allow(missing_docs)] // documentation missing in model
 1157   1554   
        pub fn list_of_lists(
 1158         -
        &self,
 1159         -
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
 1160         -
        self.list_of_lists.as_deref()
        1555  +
            mut self,
        1556  +
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1557  +
        ) -> Self {
        1558  +
            self.list_of_lists = input;
        1559  +
            self
 1161   1560   
        }
 1162   1561   
        #[allow(missing_docs)] // documentation missing in model
 1163   1562   
        pub fn list_of_maps_of_strings(
 1164         -
        &self,
 1165         -
    ) -> ::std::option::Option<
 1166         -
        &[::std::collections::HashMap<::std::string::String, ::std::string::String>],
 1167         -
    > {
 1168         -
        self.list_of_maps_of_strings.as_deref()
        1563  +
            mut self,
        1564  +
            input: ::std::option::Option<
        1565  +
                ::std::vec::Vec<
        1566  +
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1567  +
                >,
        1568  +
            >,
        1569  +
        ) -> Self {
        1570  +
            self.list_of_maps_of_strings = input;
        1571  +
            self
 1169   1572   
        }
 1170   1573   
        #[allow(missing_docs)] // documentation missing in model
 1171         -
    pub fn list_of_strings(&self) -> ::std::option::Option<&[::std::string::String]> {
 1172         -
        self.list_of_strings.as_deref()
        1574  +
        pub fn list_of_strings(
        1575  +
            mut self,
        1576  +
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1577  +
        ) -> Self {
        1578  +
            self.list_of_strings = input;
        1579  +
            self
 1173   1580   
        }
 1174   1581   
        #[allow(missing_docs)] // documentation missing in model
 1175         -
    pub fn list_of_structs(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
 1176         -
        self.list_of_structs.as_deref()
        1582  +
        pub fn list_of_structs(
        1583  +
            mut self,
        1584  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1585  +
        ) -> Self {
        1586  +
            self.list_of_structs = input;
        1587  +
            self
 1177   1588   
        }
 1178   1589   
        #[allow(missing_docs)] // documentation missing in model
 1179         -
    pub fn long(&self) -> ::std::option::Option<i64> {
 1180         -
        self.long
        1590  +
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
        1591  +
            self.long = input;
        1592  +
            self
 1181   1593   
        }
 1182   1594   
        #[allow(missing_docs)] // documentation missing in model
 1183   1595   
        pub fn map_of_lists_of_strings(
 1184         -
        &self,
 1185         -
    ) -> ::std::option::Option<
 1186         -
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
 1187         -
    > {
 1188         -
        self.map_of_lists_of_strings.as_ref()
        1596  +
            mut self,
        1597  +
            input: ::std::option::Option<
        1598  +
                ::std::collections::HashMap<
        1599  +
                    ::std::string::String,
        1600  +
                    ::std::vec::Vec<::std::string::String>,
        1601  +
                >,
        1602  +
            >,
        1603  +
        ) -> Self {
        1604  +
            self.map_of_lists_of_strings = input;
        1605  +
            self
 1189   1606   
        }
 1190   1607   
        #[allow(missing_docs)] // documentation missing in model
 1191   1608   
        pub fn map_of_maps(
 1192         -
        &self,
 1193         -
    ) -> ::std::option::Option<
 1194         -
        &::std::collections::HashMap<
        1609  +
            mut self,
        1610  +
            input: ::std::option::Option<
        1611  +
                ::std::collections::HashMap<
 1195   1612   
                    ::std::string::String,
 1196   1613   
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1197   1614   
                >,
 1198         -
    > {
 1199         -
        self.map_of_maps.as_ref()
        1615  +
            >,
        1616  +
        ) -> Self {
        1617  +
            self.map_of_maps = input;
        1618  +
            self
 1200   1619   
        }
 1201   1620   
        #[allow(missing_docs)] // documentation missing in model
 1202   1621   
        pub fn map_of_strings(
 1203         -
        &self,
 1204         -
    ) -> ::std::option::Option<
 1205         -
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1206         -
    > {
 1207         -
        self.map_of_strings.as_ref()
        1622  +
            mut self,
        1623  +
            input: ::std::option::Option<
        1624  +
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
        1625  +
            >,
        1626  +
        ) -> Self {
        1627  +
            self.map_of_strings = input;
        1628  +
            self
 1208   1629   
        }
 1209   1630   
        #[allow(missing_docs)] // documentation missing in model
 1210   1631   
        pub fn map_of_structs(
 1211         -
        &self,
 1212         -
    ) -> ::std::option::Option<
 1213         -
        &::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1214         -
    > {
 1215         -
        self.map_of_structs.as_ref()
        1632  +
            mut self,
        1633  +
            input: ::std::option::Option<
        1634  +
                ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
        1635  +
            >,
        1636  +
        ) -> Self {
        1637  +
            self.map_of_structs = input;
        1638  +
            self
 1216   1639   
        }
 1217   1640   
        #[allow(missing_docs)] // documentation missing in model
 1218         -
    pub fn recursive_list(&self) -> ::std::option::Option<&[crate::model::KitchenSink]> {
 1219         -
        self.recursive_list.as_deref()
        1641  +
        pub fn recursive_list(
        1642  +
            mut self,
        1643  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1644  +
        ) -> Self {
        1645  +
            self.recursive_list = input;
        1646  +
            self
 1220   1647   
        }
 1221   1648   
        #[allow(missing_docs)] // documentation missing in model
 1222   1649   
        pub fn recursive_map(
 1223         -
        &self,
 1224         -
    ) -> ::std::option::Option<
 1225         -
        &::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1226         -
    > {
 1227         -
        self.recursive_map.as_ref()
        1650  +
            mut self,
        1651  +
            input: ::std::option::Option<
        1652  +
                ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
        1653  +
            >,
        1654  +
        ) -> Self {
        1655  +
            self.recursive_map = input;
        1656  +
            self
 1228   1657   
        }
 1229   1658   
        #[allow(missing_docs)] // documentation missing in model
 1230         -
    pub fn recursive_struct(&self) -> ::std::option::Option<&crate::model::KitchenSink> {
 1231         -
        self.recursive_struct.as_deref()
        1659  +
        pub fn recursive_struct(
        1660  +
            mut self,
        1661  +
            input: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1662  +
        ) -> Self {
        1663  +
            self.recursive_struct = input;
        1664  +
            self
 1232   1665   
        }
 1233   1666   
        #[allow(missing_docs)] // documentation missing in model
 1234         -
    pub fn simple_struct(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
 1235         -
        self.simple_struct.as_ref()
        1667  +
        pub fn simple_struct(
        1668  +
            mut self,
        1669  +
            input: ::std::option::Option<crate::model::SimpleStruct>,
        1670  +
        ) -> Self {
        1671  +
            self.simple_struct = input;
        1672  +
            self
 1236   1673   
        }
 1237   1674   
        #[allow(missing_docs)] // documentation missing in model
 1238         -
    pub fn string(&self) -> ::std::option::Option<&str> {
 1239         -
        self.string.as_deref()
        1675  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1676  +
            self.string = input;
        1677  +
            self
 1240   1678   
        }
 1241   1679   
        #[allow(missing_docs)] // documentation missing in model
 1242   1680   
        pub fn struct_with_json_name(
 1243         -
        &self,
 1244         -
    ) -> ::std::option::Option<&crate::model::StructWithJsonName> {
 1245         -
        self.struct_with_json_name.as_ref()
        1681  +
            mut self,
        1682  +
            input: ::std::option::Option<crate::model::StructWithJsonName>,
        1683  +
        ) -> Self {
        1684  +
            self.struct_with_json_name = input;
        1685  +
            self
 1246   1686   
        }
 1247   1687   
        #[allow(missing_docs)] // documentation missing in model
 1248   1688   
        pub fn timestamp(
 1249         -
        &self,
 1250         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 1251         -
        self.timestamp.as_ref()
 1252         -
    }
 1253         -
    #[allow(missing_docs)] // documentation missing in model
 1254         -
    pub fn unix_timestamp(
 1255         -
        &self,
 1256         -
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
 1257         -
        self.unix_timestamp.as_ref()
 1258         -
    }
 1259         -
}
 1260         -
#[allow(clippy::new_without_default)]
 1261         -
#[allow(clippy::too_many_arguments)]
 1262         -
#[::pyo3::pymethods]
 1263         -
impl KitchenSinkOperationOutput {
 1264         -
    #[new]
 1265         -
    pub fn new(
 1266         -
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1267         -
        boolean: ::std::option::Option<bool>,
 1268         -
        double: ::std::option::Option<f64>,
 1269         -
        empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 1270         -
        float: ::std::option::Option<f32>,
 1271         -
        httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1272         -
        integer: ::std::option::Option<i32>,
 1273         -
        iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1274         -
        json_value: ::std::option::Option<::std::string::String>,
 1275         -
        list_of_lists: ::std::option::Option<
 1276         -
            ::std::vec::Vec<::std::vec::Vec<::std::string::String>>,
 1277         -
        >,
 1278         -
        list_of_maps_of_strings: ::std::option::Option<
 1279         -
            ::std::vec::Vec<
 1280         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1281         -
            >,
 1282         -
        >,
 1283         -
        list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1284         -
        list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 1285         -
        long: ::std::option::Option<i64>,
 1286         -
        map_of_lists_of_strings: ::std::option::Option<
 1287         -
            ::std::collections::HashMap<
 1288         -
                ::std::string::String,
 1289         -
                ::std::vec::Vec<::std::string::String>,
 1290         -
            >,
 1291         -
        >,
 1292         -
        map_of_maps: ::std::option::Option<
 1293         -
            ::std::collections::HashMap<
 1294         -
                ::std::string::String,
 1295         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1296         -
            >,
 1297         -
        >,
 1298         -
        map_of_strings: ::std::option::Option<
 1299         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1300         -
        >,
 1301         -
        map_of_structs: ::std::option::Option<
 1302         -
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1303         -
        >,
 1304         -
        recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 1305         -
        recursive_map: ::std::option::Option<
 1306         -
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1307         -
        >,
 1308         -
        recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 1309         -
        simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
 1310         -
        string: ::std::option::Option<::std::string::String>,
 1311         -
        struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
 1312         -
        timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1313         -
        unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1314         -
    ) -> Self {
 1315         -
        Self {
 1316         -
            blob,
 1317         -
            boolean,
 1318         -
            double,
 1319         -
            empty_struct,
 1320         -
            float,
 1321         -
            httpdate_timestamp,
 1322         -
            integer,
 1323         -
            iso8601_timestamp,
 1324         -
            json_value,
 1325         -
            list_of_lists,
 1326         -
            list_of_maps_of_strings,
 1327         -
            list_of_strings,
 1328         -
            list_of_structs,
 1329         -
            long,
 1330         -
            map_of_lists_of_strings,
 1331         -
            map_of_maps,
 1332         -
            map_of_strings,
 1333         -
            map_of_structs,
 1334         -
            recursive_list,
 1335         -
            recursive_map,
 1336         -
            recursive_struct,
 1337         -
            simple_struct,
 1338         -
            string,
 1339         -
            struct_with_json_name,
 1340         -
            timestamp,
 1341         -
            unix_timestamp,
 1342         -
        }
 1343         -
    }
 1344         -
    fn __repr__(&self) -> String {
 1345         -
        format!("{self:?}")
 1346         -
    }
 1347         -
    fn __str__(&self) -> String {
 1348         -
        format!("{self:?}")
 1349         -
    }
 1350         -
}
 1351         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<KitchenSinkOperationOutput> {
 1352         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1353         -
        ob.extract::<KitchenSinkOperationOutput>().map(Box::new)
 1354         -
    }
 1355         -
}
 1356         -
 1357         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<KitchenSinkOperationOutput> {
 1358         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1359         -
        (*self).into_py(py)
 1360         -
    }
 1361         -
}
 1362         -
impl KitchenSinkOperationOutput {
 1363         -
    /// Creates a new builder-style object to manufacture [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
 1364         -
    pub fn builder() -> crate::output::kitchen_sink_operation_output::Builder {
 1365         -
        crate::output::kitchen_sink_operation_output::Builder::default()
 1366         -
    }
 1367         -
}
 1368         -
 1369         -
#[::pyo3::pyclass]
 1370         -
/// :rtype None:
 1371         -
#[allow(missing_docs)] // documentation missing in model
 1372         -
#[derive(
 1373         -
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1374         -
)]
 1375         -
pub struct EmptyOperationOutput {}
 1376         -
#[allow(clippy::new_without_default)]
 1377         -
#[allow(clippy::too_many_arguments)]
 1378         -
#[::pyo3::pymethods]
 1379         -
impl EmptyOperationOutput {
 1380         -
    #[new]
 1381         -
    pub fn new() -> Self {
 1382         -
        Self {}
 1383         -
    }
 1384         -
    fn __repr__(&self) -> String {
 1385         -
        format!("{self:?}")
 1386         -
    }
 1387         -
    fn __str__(&self) -> String {
 1388         -
        format!("{self:?}")
 1389         -
    }
 1390         -
}
 1391         -
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EmptyOperationOutput> {
 1392         -
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1393         -
        ob.extract::<EmptyOperationOutput>().map(Box::new)
 1394         -
    }
 1395         -
}
 1396         -
 1397         -
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EmptyOperationOutput> {
 1398         -
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1399         -
        (*self).into_py(py)
 1400         -
    }
 1401         -
}
 1402         -
impl EmptyOperationOutput {
 1403         -
    /// Creates a new builder-style object to manufacture [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
 1404         -
    pub fn builder() -> crate::output::empty_operation_output::Builder {
 1405         -
        crate::output::empty_operation_output::Builder::default()
 1406         -
    }
 1407         -
}
 1408         -
/// See [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
 1409         -
pub mod content_type_parameters_output {
 1410         -
 1411         -
    impl ::std::convert::From<Builder> for crate::output::ContentTypeParametersOutput {
 1412         -
        fn from(builder: Builder) -> Self {
 1413         -
            builder.build()
 1414         -
        }
 1415         -
    }
 1416         -
    /// A builder for [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
 1417         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1418         -
    pub struct Builder {}
 1419         -
    impl Builder {
 1420         -
        /// Consumes the builder and constructs a [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
 1421         -
        pub fn build(self) -> crate::output::ContentTypeParametersOutput {
 1422         -
            self.build_enforcing_required_and_enum_traits()
 1423         -
        }
 1424         -
        fn build_enforcing_required_and_enum_traits(
 1425         -
            self,
 1426         -
        ) -> crate::output::ContentTypeParametersOutput {
 1427         -
            crate::output::ContentTypeParametersOutput {}
 1428         -
        }
 1429         -
    }
 1430         -
}
 1431         -
/// See [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
 1432         -
pub mod put_with_content_encoding_output {
 1433         -
 1434         -
    impl ::std::convert::From<Builder> for crate::output::PutWithContentEncodingOutput {
 1435         -
        fn from(builder: Builder) -> Self {
 1436         -
            builder.build()
 1437         -
        }
 1438         -
    }
 1439         -
    /// A builder for [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
 1440         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1441         -
    pub struct Builder {}
 1442         -
    impl Builder {
 1443         -
        /// Consumes the builder and constructs a [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
 1444         -
        pub fn build(self) -> crate::output::PutWithContentEncodingOutput {
 1445         -
            self.build_enforcing_required_and_enum_traits()
 1446         -
        }
 1447         -
        fn build_enforcing_required_and_enum_traits(
 1448         -
            self,
 1449         -
        ) -> crate::output::PutWithContentEncodingOutput {
 1450         -
            crate::output::PutWithContentEncodingOutput {}
 1451         -
        }
 1452         -
    }
 1453         -
}
 1454         -
/// See [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
 1455         -
pub mod fractional_seconds_output {
 1456         -
 1457         -
    impl ::std::convert::From<Builder> for crate::output::FractionalSecondsOutput {
 1458         -
        fn from(builder: Builder) -> Self {
 1459         -
            builder.build()
 1460         -
        }
 1461         -
    }
 1462         -
    /// A builder for [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
 1463         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1464         -
    pub struct Builder {
 1465         -
        pub(crate) datetime:
 1466         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1467         -
    }
 1468         -
    impl Builder {
 1469         -
        #[allow(missing_docs)] // documentation missing in model
 1470         -
        pub fn datetime(
 1471   1689   
            mut self,
 1472   1690   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1473   1691   
        ) -> Self {
 1474         -
            self.datetime = input;
        1692  +
            self.timestamp = input;
 1475   1693   
            self
 1476   1694   
        }
 1477         -
        /// Consumes the builder and constructs a [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
 1478         -
        pub fn build(self) -> crate::output::FractionalSecondsOutput {
 1479         -
            self.build_enforcing_required_and_enum_traits()
 1480         -
        }
 1481         -
        fn build_enforcing_required_and_enum_traits(
 1482         -
            self,
 1483         -
        ) -> crate::output::FractionalSecondsOutput {
 1484         -
            crate::output::FractionalSecondsOutput {
 1485         -
                datetime: self.datetime,
 1486         -
            }
 1487         -
        }
 1488         -
    }
 1489         -
}
 1490         -
/// See [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
 1491         -
pub mod datetime_offsets_output {
 1492         -
 1493         -
    impl ::std::convert::From<Builder> for crate::output::DatetimeOffsetsOutput {
 1494         -
        fn from(builder: Builder) -> Self {
 1495         -
            builder.build()
 1496         -
        }
 1497         -
    }
 1498         -
    /// A builder for [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
 1499         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1500         -
    pub struct Builder {
 1501         -
        pub(crate) datetime:
 1502         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1503         -
    }
 1504         -
    impl Builder {
 1505   1695   
        #[allow(missing_docs)] // documentation missing in model
 1506         -
        pub fn datetime(
        1696  +
        pub fn unix_timestamp(
 1507   1697   
            mut self,
 1508   1698   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1509   1699   
        ) -> Self {
 1510         -
            self.datetime = input;
        1700  +
            self.unix_timestamp = input;
 1511   1701   
            self
 1512   1702   
        }
 1513         -
        /// Consumes the builder and constructs a [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
 1514         -
        pub fn build(self) -> crate::output::DatetimeOffsetsOutput {
 1515         -
            self.build_enforcing_required_and_enum_traits()
 1516         -
        }
 1517         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::DatetimeOffsetsOutput {
 1518         -
            crate::output::DatetimeOffsetsOutput {
 1519         -
                datetime: self.datetime,
 1520         -
            }
 1521         -
        }
 1522         -
    }
 1523         -
}
 1524         -
/// See [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
 1525         -
pub mod host_with_path_operation_output {
 1526         -
 1527         -
    impl ::std::convert::From<Builder> for crate::output::HostWithPathOperationOutput {
 1528         -
        fn from(builder: Builder) -> Self {
 1529         -
            builder.build()
 1530         -
        }
 1531         -
    }
 1532         -
    /// A builder for [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
 1533         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1534         -
    pub struct Builder {}
 1535         -
    impl Builder {
 1536         -
        /// Consumes the builder and constructs a [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
 1537         -
        pub fn build(self) -> crate::output::HostWithPathOperationOutput {
        1703  +
        /// Consumes the builder and constructs a [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
        1704  +
        pub fn build(self) -> crate::output::KitchenSinkOperationOutput {
 1538   1705   
            self.build_enforcing_required_and_enum_traits()
 1539   1706   
        }
 1540   1707   
        fn build_enforcing_required_and_enum_traits(
 1541   1708   
            self,
 1542         -
        ) -> crate::output::HostWithPathOperationOutput {
 1543         -
            crate::output::HostWithPathOperationOutput {}
 1544         -
        }
 1545         -
    }
 1546         -
}
 1547         -
/// See [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
 1548         -
pub mod endpoint_with_host_label_operation_output {
 1549         -
 1550         -
    impl ::std::convert::From<Builder> for crate::output::EndpointWithHostLabelOperationOutput {
 1551         -
        fn from(builder: Builder) -> Self {
 1552         -
            builder.build()
 1553         -
        }
 1554         -
    }
 1555         -
    /// A builder for [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
 1556         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1557         -
    pub struct Builder {}
 1558         -
    impl Builder {
 1559         -
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
 1560         -
        pub fn build(self) -> crate::output::EndpointWithHostLabelOperationOutput {
 1561         -
            self.build_enforcing_required_and_enum_traits()
        1709  +
        ) -> crate::output::KitchenSinkOperationOutput {
        1710  +
            crate::output::KitchenSinkOperationOutput {
        1711  +
                blob: self.blob,
        1712  +
                boolean: self.boolean,
        1713  +
                double: self.double,
        1714  +
                empty_struct: self.empty_struct,
        1715  +
                float: self.float,
        1716  +
                httpdate_timestamp: self.httpdate_timestamp,
        1717  +
                integer: self.integer,
        1718  +
                iso8601_timestamp: self.iso8601_timestamp,
        1719  +
                json_value: self.json_value,
        1720  +
                list_of_lists: self.list_of_lists,
        1721  +
                list_of_maps_of_strings: self.list_of_maps_of_strings,
        1722  +
                list_of_strings: self.list_of_strings,
        1723  +
                list_of_structs: self.list_of_structs,
        1724  +
                long: self.long,
        1725  +
                map_of_lists_of_strings: self.map_of_lists_of_strings,
        1726  +
                map_of_maps: self.map_of_maps,
        1727  +
                map_of_strings: self.map_of_strings,
        1728  +
                map_of_structs: self.map_of_structs,
        1729  +
                recursive_list: self.recursive_list,
        1730  +
                recursive_map: self.recursive_map,
        1731  +
                recursive_struct: self.recursive_struct,
        1732  +
                simple_struct: self.simple_struct,
        1733  +
                string: self.string,
        1734  +
                struct_with_json_name: self.struct_with_json_name,
        1735  +
                timestamp: self.timestamp,
        1736  +
                unix_timestamp: self.unix_timestamp,
 1562   1737   
            }
 1563         -
        fn build_enforcing_required_and_enum_traits(
 1564         -
            self,
 1565         -
        ) -> crate::output::EndpointWithHostLabelOperationOutput {
 1566         -
            crate::output::EndpointWithHostLabelOperationOutput {}
 1567   1738   
        }
 1568   1739   
    }
 1569   1740   
}
 1570         -
/// See [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
 1571         -
pub mod endpoint_operation_output {
        1741  +
/// See [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
        1742  +
pub mod simple_scalar_properties_output {
 1572   1743   
 1573         -
    impl ::std::convert::From<Builder> for crate::output::EndpointOperationOutput {
        1744  +
    impl ::std::convert::From<Builder> for crate::output::SimpleScalarPropertiesOutput {
 1574   1745   
        fn from(builder: Builder) -> Self {
 1575   1746   
            builder.build()
 1576   1747   
        }
 1577   1748   
    }
 1578         -
    /// A builder for [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
        1749  +
    /// A builder for [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
 1579   1750   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1580         -
    pub struct Builder {}
        1751  +
    pub struct Builder {
        1752  +
        pub(crate) float_value: ::std::option::Option<f32>,
        1753  +
        pub(crate) double_value: ::std::option::Option<f64>,
        1754  +
    }
 1581   1755   
    impl Builder {
 1582         -
        /// Consumes the builder and constructs a [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
 1583         -
        pub fn build(self) -> crate::output::EndpointOperationOutput {
        1756  +
        #[allow(missing_docs)] // documentation missing in model
        1757  +
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
        1758  +
            self.float_value = input;
        1759  +
            self
        1760  +
        }
        1761  +
        #[allow(missing_docs)] // documentation missing in model
        1762  +
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
        1763  +
            self.double_value = input;
        1764  +
            self
        1765  +
        }
        1766  +
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
        1767  +
        pub fn build(self) -> crate::output::SimpleScalarPropertiesOutput {
 1584   1768   
            self.build_enforcing_required_and_enum_traits()
 1585   1769   
        }
 1586   1770   
        fn build_enforcing_required_and_enum_traits(
 1587   1771   
            self,
 1588         -
        ) -> crate::output::EndpointOperationOutput {
 1589         -
            crate::output::EndpointOperationOutput {}
        1772  +
        ) -> crate::output::SimpleScalarPropertiesOutput {
        1773  +
            crate::output::SimpleScalarPropertiesOutput {
        1774  +
                float_value: self.float_value,
        1775  +
                double_value: self.double_value,
        1776  +
            }
 1590   1777   
        }
 1591   1778   
    }
 1592   1779   
}
 1593         -
/// See [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
 1594         -
pub mod json_unions_output {
        1780  +
/// See [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
        1781  +
pub mod operation_with_optional_input_output_output {
 1595   1782   
 1596         -
    impl ::std::convert::From<Builder> for crate::output::JsonUnionsOutput {
        1783  +
    impl ::std::convert::From<Builder> for crate::output::OperationWithOptionalInputOutputOutput {
 1597   1784   
        fn from(builder: Builder) -> Self {
 1598   1785   
            builder.build()
 1599   1786   
        }
 1600   1787   
    }
 1601         -
    /// A builder for [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
        1788  +
    /// A builder for [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
 1602   1789   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1603   1790   
    pub struct Builder {
 1604         -
        pub(crate) contents: ::std::option::Option<crate::model::MyUnion>,
        1791  +
        pub(crate) value: ::std::option::Option<::std::string::String>,
 1605   1792   
    }
 1606   1793   
    impl Builder {
 1607         -
        /// A union with a representative set of types for members.
 1608         -
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
 1609         -
            self.contents = input;
        1794  +
        #[allow(missing_docs)] // documentation missing in model
        1795  +
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        1796  +
            self.value = input;
 1610   1797   
            self
 1611   1798   
        }
 1612         -
        /// Consumes the builder and constructs a [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
 1613         -
        pub fn build(self) -> crate::output::JsonUnionsOutput {
        1799  +
        /// Consumes the builder and constructs a [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
        1800  +
        pub fn build(self) -> crate::output::OperationWithOptionalInputOutputOutput {
 1614   1801   
            self.build_enforcing_required_and_enum_traits()
 1615   1802   
        }
 1616         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::JsonUnionsOutput {
 1617         -
            crate::output::JsonUnionsOutput {
 1618         -
                contents: self.contents,
 1619         -
            }
        1803  +
        fn build_enforcing_required_and_enum_traits(
        1804  +
            self,
        1805  +
        ) -> crate::output::OperationWithOptionalInputOutputOutput {
        1806  +
            crate::output::OperationWithOptionalInputOutputOutput { value: self.value }
 1620   1807   
        }
 1621   1808   
    }
 1622   1809   
}
 1623         -
/// See [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
 1624         -
pub mod greeting_with_errors_output {
        1810  +
/// See [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
        1811  +
pub mod put_and_get_inline_documents_output {
 1625   1812   
 1626         -
    impl ::std::convert::From<Builder> for crate::output::GreetingWithErrorsOutput {
        1813  +
    impl ::std::convert::From<Builder> for crate::output::PutAndGetInlineDocumentsOutput {
 1627   1814   
        fn from(builder: Builder) -> Self {
 1628   1815   
            builder.build()
 1629   1816   
        }
 1630   1817   
    }
 1631         -
    /// A builder for [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
        1818  +
    /// A builder for [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
 1632   1819   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1633   1820   
    pub struct Builder {
 1634         -
        pub(crate) greeting: ::std::option::Option<::std::string::String>,
        1821  +
        pub(crate) inline_document:
        1822  +
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 1635   1823   
    }
 1636   1824   
    impl Builder {
 1637   1825   
        #[allow(missing_docs)] // documentation missing in model
 1638         -
        pub fn greeting(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1639         -
            self.greeting = input;
        1826  +
        pub fn inline_document(
        1827  +
            mut self,
        1828  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        1829  +
        ) -> Self {
        1830  +
            self.inline_document = input;
 1640   1831   
            self
 1641   1832   
        }
 1642         -
        /// Consumes the builder and constructs a [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
 1643         -
        pub fn build(self) -> crate::output::GreetingWithErrorsOutput {
        1833  +
        /// Consumes the builder and constructs a [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
        1834  +
        pub fn build(self) -> crate::output::PutAndGetInlineDocumentsOutput {
 1644   1835   
            self.build_enforcing_required_and_enum_traits()
 1645   1836   
        }
 1646   1837   
        fn build_enforcing_required_and_enum_traits(
 1647   1838   
            self,
 1648         -
        ) -> crate::output::GreetingWithErrorsOutput {
 1649         -
            crate::output::GreetingWithErrorsOutput {
 1650         -
                greeting: self.greeting,
        1839  +
        ) -> crate::output::PutAndGetInlineDocumentsOutput {
        1840  +
            crate::output::PutAndGetInlineDocumentsOutput {
        1841  +
                inline_document: self.inline_document,
 1651   1842   
            }
 1652   1843   
        }
 1653   1844   
    }
 1654   1845   
}
 1655         -
/// See [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
 1656         -
pub mod sparse_nulls_operation_output {
        1846  +
/// See [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
        1847  +
pub mod json_enums_output {
 1657   1848   
 1658         -
    impl ::std::convert::From<Builder> for crate::output::SparseNullsOperationOutput {
        1849  +
    impl ::std::convert::From<Builder> for crate::output::JsonEnumsOutput {
 1659   1850   
        fn from(builder: Builder) -> Self {
 1660   1851   
            builder.build()
 1661   1852   
        }
 1662   1853   
    }
 1663         -
    /// A builder for [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
        1854  +
    /// A builder for [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
 1664   1855   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1665   1856   
    pub struct Builder {
 1666         -
        pub(crate) sparse_string_list:
 1667         -
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
 1668         -
        pub(crate) sparse_string_map: ::std::option::Option<
 1669         -
            ::std::collections::HashMap<
 1670         -
                ::std::string::String,
 1671         -
                ::std::option::Option<::std::string::String>,
 1672         -
            >,
        1857  +
        pub(crate) foo_enum1: ::std::option::Option<crate::model::FooEnum>,
        1858  +
        pub(crate) foo_enum2: ::std::option::Option<crate::model::FooEnum>,
        1859  +
        pub(crate) foo_enum3: ::std::option::Option<crate::model::FooEnum>,
        1860  +
        pub(crate) foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1861  +
        pub(crate) foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        1862  +
        pub(crate) foo_enum_map: ::std::option::Option<
        1863  +
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
 1673   1864   
        >,
 1674   1865   
    }
 1675   1866   
    impl Builder {
 1676   1867   
        #[allow(missing_docs)] // documentation missing in model
 1677         -
        pub fn sparse_string_list(
        1868  +
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1869  +
            self.foo_enum1 = input;
        1870  +
            self
        1871  +
        }
        1872  +
        #[allow(missing_docs)] // documentation missing in model
        1873  +
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1874  +
            self.foo_enum2 = input;
        1875  +
            self
        1876  +
        }
        1877  +
        #[allow(missing_docs)] // documentation missing in model
        1878  +
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
        1879  +
            self.foo_enum3 = input;
        1880  +
            self
        1881  +
        }
        1882  +
        #[allow(missing_docs)] // documentation missing in model
        1883  +
        pub fn foo_enum_list(
 1678   1884   
            mut self,
 1679         -
            input: ::std::option::Option<
 1680         -
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
 1681         -
            >,
        1885  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 1682   1886   
        ) -> Self {
 1683         -
            self.sparse_string_list = input;
        1887  +
            self.foo_enum_list = input;
 1684   1888   
            self
 1685   1889   
        }
 1686   1890   
        #[allow(missing_docs)] // documentation missing in model
 1687         -
        pub fn sparse_string_map(
        1891  +
        pub fn foo_enum_set(
 1688   1892   
            mut self,
 1689         -
            input: ::std::option::Option<
 1690         -
                ::std::collections::HashMap<
 1691         -
                    ::std::string::String,
 1692         -
                    ::std::option::Option<::std::string::String>,
 1693         -
                >,
 1694         -
            >,
        1893  +
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 1695   1894   
        ) -> Self {
 1696         -
            self.sparse_string_map = input;
        1895  +
            self.foo_enum_set = input;
 1697   1896   
            self
 1698   1897   
        }
 1699         -
        /// Consumes the builder and constructs a [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
 1700         -
        pub fn build(self) -> crate::output::SparseNullsOperationOutput {
 1701         -
            self.build_enforcing_required_and_enum_traits()
 1702         -
        }
 1703         -
        fn build_enforcing_required_and_enum_traits(
 1704         -
            self,
 1705         -
        ) -> crate::output::SparseNullsOperationOutput {
 1706         -
            crate::output::SparseNullsOperationOutput {
 1707         -
                sparse_string_list: self.sparse_string_list,
 1708         -
                sparse_string_map: self.sparse_string_map,
 1709         -
            }
 1710         -
        }
 1711         -
    }
 1712         -
}
 1713         -
/// See [`NullOperationOutput`](crate::output::NullOperationOutput).
 1714         -
pub mod null_operation_output {
 1715         -
 1716         -
    impl ::std::convert::From<Builder> for crate::output::NullOperationOutput {
 1717         -
        fn from(builder: Builder) -> Self {
 1718         -
            builder.build()
 1719         -
        }
 1720         -
    }
 1721         -
    /// A builder for [`NullOperationOutput`](crate::output::NullOperationOutput).
 1722         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1723         -
    pub struct Builder {
 1724         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
 1725         -
    }
 1726         -
    impl Builder {
 1727   1898   
        #[allow(missing_docs)] // documentation missing in model
 1728         -
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1729         -
            self.string = input;
        1899  +
        pub fn foo_enum_map(
        1900  +
            mut self,
        1901  +
            input: ::std::option::Option<
        1902  +
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        1903  +
            >,
        1904  +
        ) -> Self {
        1905  +
            self.foo_enum_map = input;
 1730   1906   
            self
 1731   1907   
        }
 1732         -
        /// Consumes the builder and constructs a [`NullOperationOutput`](crate::output::NullOperationOutput).
 1733         -
        pub fn build(self) -> crate::output::NullOperationOutput {
        1908  +
        /// Consumes the builder and constructs a [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
        1909  +
        pub fn build(self) -> crate::output::JsonEnumsOutput {
 1734   1910   
            self.build_enforcing_required_and_enum_traits()
 1735   1911   
        }
 1736         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::NullOperationOutput {
 1737         -
            crate::output::NullOperationOutput {
 1738         -
                string: self.string,
        1912  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::JsonEnumsOutput {
        1913  +
            crate::output::JsonEnumsOutput {
        1914  +
                foo_enum1: self.foo_enum1,
        1915  +
                foo_enum2: self.foo_enum2,
        1916  +
                foo_enum3: self.foo_enum3,
        1917  +
                foo_enum_list: self.foo_enum_list,
        1918  +
                foo_enum_set: self.foo_enum_set,
        1919  +
                foo_enum_map: self.foo_enum_map,
 1739   1920   
            }
 1740   1921   
        }
 1741   1922   
    }
 1742   1923   
}
 1743   1924   
/// See [`JsonIntEnumsOutput`](crate::output::JsonIntEnumsOutput).
 1744   1925   
pub mod json_int_enums_output {
 1745   1926   
 1746   1927   
    impl ::std::convert::From<Builder> for crate::output::JsonIntEnumsOutput {
 1747   1928   
        fn from(builder: Builder) -> Self {
 1748   1929   
            builder.build()
@@ -1782,1963 +2327,2327 @@
 1802   1983   
                int_enum1: self.int_enum1,
 1803   1984   
                int_enum2: self.int_enum2,
 1804   1985   
                int_enum3: self.int_enum3,
 1805   1986   
                int_enum_list: self.int_enum_list,
 1806   1987   
                int_enum_set: self.int_enum_set,
 1807   1988   
                int_enum_map: self.int_enum_map,
 1808   1989   
            }
 1809   1990   
        }
 1810   1991   
    }
 1811   1992   
}
 1812         -
/// See [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
 1813         -
pub mod json_enums_output {
        1993  +
/// See [`NullOperationOutput`](crate::output::NullOperationOutput).
        1994  +
pub mod null_operation_output {
 1814   1995   
 1815         -
    impl ::std::convert::From<Builder> for crate::output::JsonEnumsOutput {
        1996  +
    impl ::std::convert::From<Builder> for crate::output::NullOperationOutput {
 1816   1997   
        fn from(builder: Builder) -> Self {
 1817   1998   
            builder.build()
 1818   1999   
        }
 1819   2000   
    }
 1820         -
    /// A builder for [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
        2001  +
    /// A builder for [`NullOperationOutput`](crate::output::NullOperationOutput).
 1821   2002   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1822   2003   
    pub struct Builder {
 1823         -
        pub(crate) foo_enum1: ::std::option::Option<crate::model::FooEnum>,
 1824         -
        pub(crate) foo_enum2: ::std::option::Option<crate::model::FooEnum>,
 1825         -
        pub(crate) foo_enum3: ::std::option::Option<crate::model::FooEnum>,
 1826         -
        pub(crate) foo_enum_list: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 1827         -
        pub(crate) foo_enum_set: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 1828         -
        pub(crate) foo_enum_map: ::std::option::Option<
 1829         -
            ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
 1830         -
        >,
        2004  +
        pub(crate) string: ::std::option::Option<::std::string::String>,
 1831   2005   
    }
 1832   2006   
    impl Builder {
 1833   2007   
        #[allow(missing_docs)] // documentation missing in model
 1834         -
        pub fn foo_enum1(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
 1835         -
            self.foo_enum1 = input;
        2008  +
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        2009  +
            self.string = input;
 1836   2010   
            self
 1837   2011   
        }
 1838         -
        #[allow(missing_docs)] // documentation missing in model
 1839         -
        pub fn foo_enum2(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
 1840         -
            self.foo_enum2 = input;
 1841         -
            self
        2012  +
        /// Consumes the builder and constructs a [`NullOperationOutput`](crate::output::NullOperationOutput).
        2013  +
        pub fn build(self) -> crate::output::NullOperationOutput {
        2014  +
            self.build_enforcing_required_and_enum_traits()
 1842   2015   
        }
 1843         -
        #[allow(missing_docs)] // documentation missing in model
 1844         -
        pub fn foo_enum3(mut self, input: ::std::option::Option<crate::model::FooEnum>) -> Self {
 1845         -
            self.foo_enum3 = input;
 1846         -
            self
        2016  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::NullOperationOutput {
        2017  +
            crate::output::NullOperationOutput {
        2018  +
                string: self.string,
 1847   2019   
            }
 1848         -
        #[allow(missing_docs)] // documentation missing in model
 1849         -
        pub fn foo_enum_list(
 1850         -
            mut self,
 1851         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
 1852         -
        ) -> Self {
 1853         -
            self.foo_enum_list = input;
 1854         -
            self
 1855   2020   
        }
        2021  +
    }
        2022  +
}
        2023  +
/// See [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
        2024  +
pub mod sparse_nulls_operation_output {
        2025  +
        2026  +
    impl ::std::convert::From<Builder> for crate::output::SparseNullsOperationOutput {
        2027  +
        fn from(builder: Builder) -> Self {
        2028  +
            builder.build()
        2029  +
        }
        2030  +
    }
        2031  +
    /// A builder for [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
        2032  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2033  +
    pub struct Builder {
        2034  +
        pub(crate) sparse_string_list:
        2035  +
            ::std::option::Option<::std::vec::Vec<::std::option::Option<::std::string::String>>>,
        2036  +
        pub(crate) sparse_string_map: ::std::option::Option<
        2037  +
            ::std::collections::HashMap<
        2038  +
                ::std::string::String,
        2039  +
                ::std::option::Option<::std::string::String>,
        2040  +
            >,
        2041  +
        >,
        2042  +
    }
        2043  +
    impl Builder {
 1856   2044   
        #[allow(missing_docs)] // documentation missing in model
 1857         -
        pub fn foo_enum_set(
        2045  +
        pub fn sparse_string_list(
 1858   2046   
            mut self,
 1859         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::FooEnum>>,
        2047  +
            input: ::std::option::Option<
        2048  +
                ::std::vec::Vec<::std::option::Option<::std::string::String>>,
        2049  +
            >,
 1860   2050   
        ) -> Self {
 1861         -
            self.foo_enum_set = input;
        2051  +
            self.sparse_string_list = input;
 1862   2052   
            self
 1863   2053   
        }
 1864   2054   
        #[allow(missing_docs)] // documentation missing in model
 1865         -
        pub fn foo_enum_map(
        2055  +
        pub fn sparse_string_map(
 1866   2056   
            mut self,
 1867   2057   
            input: ::std::option::Option<
 1868         -
                ::std::collections::HashMap<::std::string::String, crate::model::FooEnum>,
        2058  +
                ::std::collections::HashMap<
        2059  +
                    ::std::string::String,
        2060  +
                    ::std::option::Option<::std::string::String>,
        2061  +
                >,
 1869   2062   
            >,
 1870   2063   
        ) -> Self {
 1871         -
            self.foo_enum_map = input;
        2064  +
            self.sparse_string_map = input;
 1872   2065   
            self
 1873   2066   
        }
 1874         -
        /// Consumes the builder and constructs a [`JsonEnumsOutput`](crate::output::JsonEnumsOutput).
 1875         -
        pub fn build(self) -> crate::output::JsonEnumsOutput {
        2067  +
        /// Consumes the builder and constructs a [`SparseNullsOperationOutput`](crate::output::SparseNullsOperationOutput).
        2068  +
        pub fn build(self) -> crate::output::SparseNullsOperationOutput {
 1876   2069   
            self.build_enforcing_required_and_enum_traits()
 1877   2070   
        }
 1878         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::JsonEnumsOutput {
 1879         -
            crate::output::JsonEnumsOutput {
 1880         -
                foo_enum1: self.foo_enum1,
 1881         -
                foo_enum2: self.foo_enum2,
 1882         -
                foo_enum3: self.foo_enum3,
 1883         -
                foo_enum_list: self.foo_enum_list,
 1884         -
                foo_enum_set: self.foo_enum_set,
 1885         -
                foo_enum_map: self.foo_enum_map,
        2071  +
        fn build_enforcing_required_and_enum_traits(
        2072  +
            self,
        2073  +
        ) -> crate::output::SparseNullsOperationOutput {
        2074  +
            crate::output::SparseNullsOperationOutput {
        2075  +
                sparse_string_list: self.sparse_string_list,
        2076  +
                sparse_string_map: self.sparse_string_map,
 1886   2077   
            }
 1887   2078   
        }
 1888   2079   
    }
 1889   2080   
}
 1890         -
/// See [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
 1891         -
pub mod put_and_get_inline_documents_output {
        2081  +
/// See [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
        2082  +
pub mod greeting_with_errors_output {
 1892   2083   
 1893         -
    impl ::std::convert::From<Builder> for crate::output::PutAndGetInlineDocumentsOutput {
        2084  +
    impl ::std::convert::From<Builder> for crate::output::GreetingWithErrorsOutput {
 1894   2085   
        fn from(builder: Builder) -> Self {
 1895   2086   
            builder.build()
 1896   2087   
        }
 1897   2088   
    }
 1898         -
    /// A builder for [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
        2089  +
    /// A builder for [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
 1899   2090   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1900   2091   
    pub struct Builder {
 1901         -
        pub(crate) inline_document:
 1902         -
            ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
        2092  +
        pub(crate) greeting: ::std::option::Option<::std::string::String>,
 1903   2093   
    }
 1904   2094   
    impl Builder {
 1905   2095   
        #[allow(missing_docs)] // documentation missing in model
 1906         -
        pub fn inline_document(
 1907         -
            mut self,
 1908         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Document>,
 1909         -
        ) -> Self {
 1910         -
            self.inline_document = input;
        2096  +
        pub fn greeting(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        2097  +
            self.greeting = input;
 1911   2098   
            self
 1912   2099   
        }
 1913         -
        /// Consumes the builder and constructs a [`PutAndGetInlineDocumentsOutput`](crate::output::PutAndGetInlineDocumentsOutput).
 1914         -
        pub fn build(self) -> crate::output::PutAndGetInlineDocumentsOutput {
        2100  +
        /// Consumes the builder and constructs a [`GreetingWithErrorsOutput`](crate::output::GreetingWithErrorsOutput).
        2101  +
        pub fn build(self) -> crate::output::GreetingWithErrorsOutput {
 1915   2102   
            self.build_enforcing_required_and_enum_traits()
 1916   2103   
        }
 1917   2104   
        fn build_enforcing_required_and_enum_traits(
 1918   2105   
            self,
 1919         -
        ) -> crate::output::PutAndGetInlineDocumentsOutput {
 1920         -
            crate::output::PutAndGetInlineDocumentsOutput {
 1921         -
                inline_document: self.inline_document,
        2106  +
        ) -> crate::output::GreetingWithErrorsOutput {
        2107  +
            crate::output::GreetingWithErrorsOutput {
        2108  +
                greeting: self.greeting,
 1922   2109   
            }
 1923   2110   
        }
 1924   2111   
    }
 1925   2112   
}
 1926         -
/// See [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
 1927         -
pub mod operation_with_optional_input_output_output {
        2113  +
/// See [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
        2114  +
pub mod json_unions_output {
 1928   2115   
 1929         -
    impl ::std::convert::From<Builder> for crate::output::OperationWithOptionalInputOutputOutput {
        2116  +
    impl ::std::convert::From<Builder> for crate::output::JsonUnionsOutput {
 1930   2117   
        fn from(builder: Builder) -> Self {
 1931   2118   
            builder.build()
 1932   2119   
        }
 1933   2120   
    }
 1934         -
    /// A builder for [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
        2121  +
    /// A builder for [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
 1935   2122   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1936   2123   
    pub struct Builder {
 1937         -
        pub(crate) value: ::std::option::Option<::std::string::String>,
        2124  +
        pub(crate) contents: ::std::option::Option<crate::model::MyUnion>,
 1938   2125   
    }
 1939   2126   
    impl Builder {
 1940         -
        #[allow(missing_docs)] // documentation missing in model
 1941         -
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1942         -
            self.value = input;
        2127  +
        /// A union with a representative set of types for members.
        2128  +
        pub fn contents(mut self, input: ::std::option::Option<crate::model::MyUnion>) -> Self {
        2129  +
            self.contents = input;
 1943   2130   
            self
 1944   2131   
        }
 1945         -
        /// Consumes the builder and constructs a [`OperationWithOptionalInputOutputOutput`](crate::output::OperationWithOptionalInputOutputOutput).
 1946         -
        pub fn build(self) -> crate::output::OperationWithOptionalInputOutputOutput {
        2132  +
        /// Consumes the builder and constructs a [`JsonUnionsOutput`](crate::output::JsonUnionsOutput).
        2133  +
        pub fn build(self) -> crate::output::JsonUnionsOutput {
 1947   2134   
            self.build_enforcing_required_and_enum_traits()
 1948   2135   
        }
 1949         -
        fn build_enforcing_required_and_enum_traits(
 1950         -
            self,
 1951         -
        ) -> crate::output::OperationWithOptionalInputOutputOutput {
 1952         -
            crate::output::OperationWithOptionalInputOutputOutput { value: self.value }
        2136  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::JsonUnionsOutput {
        2137  +
            crate::output::JsonUnionsOutput {
        2138  +
                contents: self.contents,
        2139  +
            }
 1953   2140   
        }
 1954   2141   
    }
 1955   2142   
}
 1956         -
/// See [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
 1957         -
pub mod simple_scalar_properties_output {
        2143  +
/// See [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
        2144  +
pub mod endpoint_operation_output {
 1958   2145   
 1959         -
    impl ::std::convert::From<Builder> for crate::output::SimpleScalarPropertiesOutput {
        2146  +
    impl ::std::convert::From<Builder> for crate::output::EndpointOperationOutput {
 1960   2147   
        fn from(builder: Builder) -> Self {
 1961   2148   
            builder.build()
 1962   2149   
        }
 1963   2150   
    }
 1964         -
    /// A builder for [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
        2151  +
    /// A builder for [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
 1965   2152   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1966         -
    pub struct Builder {
 1967         -
        pub(crate) float_value: ::std::option::Option<f32>,
 1968         -
        pub(crate) double_value: ::std::option::Option<f64>,
 1969         -
    }
        2153  +
    pub struct Builder {}
 1970   2154   
    impl Builder {
 1971         -
        #[allow(missing_docs)] // documentation missing in model
 1972         -
        pub fn float_value(mut self, input: ::std::option::Option<f32>) -> Self {
 1973         -
            self.float_value = input;
 1974         -
            self
 1975         -
        }
 1976         -
        #[allow(missing_docs)] // documentation missing in model
 1977         -
        pub fn double_value(mut self, input: ::std::option::Option<f64>) -> Self {
 1978         -
            self.double_value = input;
 1979         -
            self
 1980         -
        }
 1981         -
        /// Consumes the builder and constructs a [`SimpleScalarPropertiesOutput`](crate::output::SimpleScalarPropertiesOutput).
 1982         -
        pub fn build(self) -> crate::output::SimpleScalarPropertiesOutput {
        2155  +
        /// Consumes the builder and constructs a [`EndpointOperationOutput`](crate::output::EndpointOperationOutput).
        2156  +
        pub fn build(self) -> crate::output::EndpointOperationOutput {
 1983   2157   
            self.build_enforcing_required_and_enum_traits()
 1984   2158   
        }
 1985   2159   
        fn build_enforcing_required_and_enum_traits(
 1986   2160   
            self,
 1987         -
        ) -> crate::output::SimpleScalarPropertiesOutput {
 1988         -
            crate::output::SimpleScalarPropertiesOutput {
 1989         -
                float_value: self.float_value,
 1990         -
                double_value: self.double_value,
 1991         -
            }
        2161  +
        ) -> crate::output::EndpointOperationOutput {
        2162  +
            crate::output::EndpointOperationOutput {}
 1992   2163   
        }
 1993   2164   
    }
 1994   2165   
}
 1995         -
/// See [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
 1996         -
pub mod kitchen_sink_operation_output {
        2166  +
/// See [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
        2167  +
pub mod endpoint_with_host_label_operation_output {
 1997   2168   
 1998         -
    impl ::std::convert::From<Builder> for crate::output::KitchenSinkOperationOutput {
        2169  +
    impl ::std::convert::From<Builder> for crate::output::EndpointWithHostLabelOperationOutput {
 1999   2170   
        fn from(builder: Builder) -> Self {
 2000   2171   
            builder.build()
 2001   2172   
        }
 2002   2173   
    }
 2003         -
    /// A builder for [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
        2174  +
    /// A builder for [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
 2004   2175   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2005         -
    pub struct Builder {
 2006         -
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 2007         -
        pub(crate) boolean: ::std::option::Option<bool>,
 2008         -
        pub(crate) double: ::std::option::Option<f64>,
 2009         -
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 2010         -
        pub(crate) float: ::std::option::Option<f32>,
 2011         -
        pub(crate) httpdate_timestamp:
 2012         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2013         -
        pub(crate) integer: ::std::option::Option<i32>,
 2014         -
        pub(crate) iso8601_timestamp:
 2015         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2016         -
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
 2017         -
        pub(crate) list_of_lists:
 2018         -
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 2019         -
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
 2020         -
            ::std::vec::Vec<
 2021         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2022         -
            >,
 2023         -
        >,
 2024         -
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 2025         -
        pub(crate) list_of_structs:
 2026         -
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 2027         -
        pub(crate) long: ::std::option::Option<i64>,
 2028         -
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
 2029         -
            ::std::collections::HashMap<
 2030         -
                ::std::string::String,
 2031         -
                ::std::vec::Vec<::std::string::String>,
 2032         -
            >,
 2033         -
        >,
 2034         -
        pub(crate) map_of_maps: ::std::option::Option<
 2035         -
            ::std::collections::HashMap<
 2036         -
                ::std::string::String,
 2037         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2038         -
            >,
 2039         -
        >,
 2040         -
        pub(crate) map_of_strings: ::std::option::Option<
 2041         -
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2042         -
        >,
 2043         -
        pub(crate) map_of_structs: ::std::option::Option<
 2044         -
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 2045         -
        >,
 2046         -
        pub(crate) recursive_list:
 2047         -
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 2048         -
        pub(crate) recursive_map: ::std::option::Option<
 2049         -
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 2050         -
        >,
 2051         -
        pub(crate) recursive_struct:
 2052         -
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 2053         -
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
 2054         -
        pub(crate) string: ::std::option::Option<::std::string::String>,
 2055         -
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
 2056         -
        pub(crate) timestamp:
 2057         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2058         -
        pub(crate) unix_timestamp:
 2059         -
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2060         -
    }
        2176  +
    pub struct Builder {}
 2061   2177   
    impl Builder {
 2062         -
        #[allow(missing_docs)] // documentation missing in model
 2063         -
        pub fn blob(
 2064         -
            mut self,
 2065         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 2066         -
        ) -> Self {
 2067         -
            self.blob = input;
 2068         -
            self
        2178  +
        /// Consumes the builder and constructs a [`EndpointWithHostLabelOperationOutput`](crate::output::EndpointWithHostLabelOperationOutput).
        2179  +
        pub fn build(self) -> crate::output::EndpointWithHostLabelOperationOutput {
        2180  +
            self.build_enforcing_required_and_enum_traits()
 2069   2181   
        }
 2070         -
        #[allow(missing_docs)] // documentation missing in model
 2071         -
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
 2072         -
            self.boolean = input;
 2073         -
            self
        2182  +
        fn build_enforcing_required_and_enum_traits(
        2183  +
            self,
        2184  +
        ) -> crate::output::EndpointWithHostLabelOperationOutput {
        2185  +
            crate::output::EndpointWithHostLabelOperationOutput {}
 2074   2186   
        }
 2075         -
        #[allow(missing_docs)] // documentation missing in model
 2076         -
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
 2077         -
            self.double = input;
 2078         -
            self
 2079   2187   
    }
 2080         -
        #[allow(missing_docs)] // documentation missing in model
 2081         -
        pub fn empty_struct(
 2082         -
            mut self,
 2083         -
            input: ::std::option::Option<crate::model::EmptyStruct>,
 2084         -
        ) -> Self {
 2085         -
            self.empty_struct = input;
 2086         -
            self
        2188  +
}
        2189  +
/// See [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
        2190  +
pub mod host_with_path_operation_output {
        2191  +
        2192  +
    impl ::std::convert::From<Builder> for crate::output::HostWithPathOperationOutput {
        2193  +
        fn from(builder: Builder) -> Self {
        2194  +
            builder.build()
 2087   2195   
        }
 2088         -
        #[allow(missing_docs)] // documentation missing in model
 2089         -
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
 2090         -
            self.float = input;
 2091         -
            self
 2092   2196   
    }
 2093         -
        #[allow(missing_docs)] // documentation missing in model
 2094         -
        pub fn httpdate_timestamp(
 2095         -
            mut self,
 2096         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2097         -
        ) -> Self {
 2098         -
            self.httpdate_timestamp = input;
 2099         -
            self
        2197  +
    /// A builder for [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
        2198  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2199  +
    pub struct Builder {}
        2200  +
    impl Builder {
        2201  +
        /// Consumes the builder and constructs a [`HostWithPathOperationOutput`](crate::output::HostWithPathOperationOutput).
        2202  +
        pub fn build(self) -> crate::output::HostWithPathOperationOutput {
        2203  +
            self.build_enforcing_required_and_enum_traits()
 2100   2204   
        }
 2101         -
        #[allow(missing_docs)] // documentation missing in model
 2102         -
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
 2103         -
            self.integer = input;
 2104         -
            self
        2205  +
        fn build_enforcing_required_and_enum_traits(
        2206  +
            self,
        2207  +
        ) -> crate::output::HostWithPathOperationOutput {
        2208  +
            crate::output::HostWithPathOperationOutput {}
 2105   2209   
        }
 2106         -
        #[allow(missing_docs)] // documentation missing in model
 2107         -
        pub fn iso8601_timestamp(
 2108         -
            mut self,
 2109         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2110         -
        ) -> Self {
 2111         -
            self.iso8601_timestamp = input;
 2112         -
            self
 2113   2210   
    }
 2114         -
        #[allow(missing_docs)] // documentation missing in model
 2115         -
        pub fn json_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 2116         -
            self.json_value = input;
 2117         -
            self
        2211  +
}
        2212  +
/// See [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
        2213  +
pub mod datetime_offsets_output {
        2214  +
        2215  +
    impl ::std::convert::From<Builder> for crate::output::DatetimeOffsetsOutput {
        2216  +
        fn from(builder: Builder) -> Self {
        2217  +
            builder.build()
 2118   2218   
        }
 2119         -
        #[allow(missing_docs)] // documentation missing in model
 2120         -
        pub fn list_of_lists(
 2121         -
            mut self,
 2122         -
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 2123         -
        ) -> Self {
 2124         -
            self.list_of_lists = input;
 2125         -
            self
 2126   2219   
    }
 2127         -
        #[allow(missing_docs)] // documentation missing in model
 2128         -
        pub fn list_of_maps_of_strings(
 2129         -
            mut self,
 2130         -
            input: ::std::option::Option<
 2131         -
                ::std::vec::Vec<
 2132         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2133         -
                >,
 2134         -
            >,
 2135         -
        ) -> Self {
 2136         -
            self.list_of_maps_of_strings = input;
 2137         -
            self
        2220  +
    /// A builder for [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
        2221  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2222  +
    pub struct Builder {
        2223  +
        pub(crate) datetime:
        2224  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2138   2225   
    }
        2226  +
    impl Builder {
 2139   2227   
        #[allow(missing_docs)] // documentation missing in model
 2140         -
        pub fn list_of_strings(
        2228  +
        pub fn datetime(
 2141   2229   
            mut self,
 2142         -
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        2230  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2143   2231   
        ) -> Self {
 2144         -
            self.list_of_strings = input;
        2232  +
            self.datetime = input;
 2145   2233   
            self
 2146   2234   
        }
 2147         -
        #[allow(missing_docs)] // documentation missing in model
 2148         -
        pub fn list_of_structs(
 2149         -
            mut self,
 2150         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 2151         -
        ) -> Self {
 2152         -
            self.list_of_structs = input;
 2153         -
            self
        2235  +
        /// Consumes the builder and constructs a [`DatetimeOffsetsOutput`](crate::output::DatetimeOffsetsOutput).
        2236  +
        pub fn build(self) -> crate::output::DatetimeOffsetsOutput {
        2237  +
            self.build_enforcing_required_and_enum_traits()
 2154   2238   
        }
 2155         -
        #[allow(missing_docs)] // documentation missing in model
 2156         -
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
 2157         -
            self.long = input;
 2158         -
            self
        2239  +
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::DatetimeOffsetsOutput {
        2240  +
            crate::output::DatetimeOffsetsOutput {
        2241  +
                datetime: self.datetime,
 2159   2242   
            }
 2160         -
        #[allow(missing_docs)] // documentation missing in model
 2161         -
        pub fn map_of_lists_of_strings(
 2162         -
            mut self,
 2163         -
            input: ::std::option::Option<
 2164         -
                ::std::collections::HashMap<
 2165         -
                    ::std::string::String,
 2166         -
                    ::std::vec::Vec<::std::string::String>,
 2167         -
                >,
 2168         -
            >,
 2169         -
        ) -> Self {
 2170         -
            self.map_of_lists_of_strings = input;
 2171         -
            self
 2172   2243   
        }
 2173         -
        #[allow(missing_docs)] // documentation missing in model
 2174         -
        pub fn map_of_maps(
 2175         -
            mut self,
 2176         -
            input: ::std::option::Option<
 2177         -
                ::std::collections::HashMap<
 2178         -
                    ::std::string::String,
 2179         -
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2180         -
                >,
 2181         -
            >,
 2182         -
        ) -> Self {
 2183         -
            self.map_of_maps = input;
 2184         -
            self
 2185   2244   
    }
 2186         -
        #[allow(missing_docs)] // documentation missing in model
 2187         -
        pub fn map_of_strings(
 2188         -
            mut self,
 2189         -
            input: ::std::option::Option<
 2190         -
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2191         -
            >,
 2192         -
        ) -> Self {
 2193         -
            self.map_of_strings = input;
 2194         -
            self
        2245  +
}
        2246  +
/// See [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
        2247  +
pub mod fractional_seconds_output {
        2248  +
        2249  +
    impl ::std::convert::From<Builder> for crate::output::FractionalSecondsOutput {
        2250  +
        fn from(builder: Builder) -> Self {
        2251  +
            builder.build()
 2195   2252   
        }
 2196         -
        #[allow(missing_docs)] // documentation missing in model
 2197         -
        pub fn map_of_structs(
 2198         -
            mut self,
 2199         -
            input: ::std::option::Option<
 2200         -
                ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 2201         -
            >,
 2202         -
        ) -> Self {
 2203         -
            self.map_of_structs = input;
 2204         -
            self
 2205   2253   
    }
 2206         -
        #[allow(missing_docs)] // documentation missing in model
 2207         -
        pub fn recursive_list(
 2208         -
            mut self,
 2209         -
            input: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 2210         -
        ) -> Self {
 2211         -
            self.recursive_list = input;
 2212         -
            self
        2254  +
    /// A builder for [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
        2255  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2256  +
    pub struct Builder {
        2257  +
        pub(crate) datetime:
        2258  +
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2213   2259   
    }
        2260  +
    impl Builder {
 2214   2261   
        #[allow(missing_docs)] // documentation missing in model
 2215         -
        pub fn recursive_map(
        2262  +
        pub fn datetime(
 2216   2263   
            mut self,
 2217         -
            input: ::std::option::Option<
 2218         -
                ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 2219         -
            >,
        2264  +
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2220   2265   
        ) -> Self {
 2221         -
            self.recursive_map = input;
        2266  +
            self.datetime = input;
 2222   2267   
            self
 2223   2268   
        }
 2224         -
        #[allow(missing_docs)] // documentation missing in model
 2225         -
        pub fn recursive_struct(
 2226         -
            mut self,
 2227         -
            input: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 2228         -
        ) -> Self {
 2229         -
            self.recursive_struct = input;
 2230         -
            self
        2269  +
        /// Consumes the builder and constructs a [`FractionalSecondsOutput`](crate::output::FractionalSecondsOutput).
        2270  +
        pub fn build(self) -> crate::output::FractionalSecondsOutput {
        2271  +
            self.build_enforcing_required_and_enum_traits()
 2231   2272   
        }
 2232         -
        #[allow(missing_docs)] // documentation missing in model
 2233         -
        pub fn simple_struct(
 2234         -
            mut self,
 2235         -
            input: ::std::option::Option<crate::model::SimpleStruct>,
 2236         -
        ) -> Self {
 2237         -
            self.simple_struct = input;
 2238         -
            self
        2273  +
        fn build_enforcing_required_and_enum_traits(
        2274  +
            self,
        2275  +
        ) -> crate::output::FractionalSecondsOutput {
        2276  +
            crate::output::FractionalSecondsOutput {
        2277  +
                datetime: self.datetime,
 2239   2278   
            }
 2240         -
        #[allow(missing_docs)] // documentation missing in model
 2241         -
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 2242         -
            self.string = input;
 2243         -
            self
 2244   2279   
        }
 2245         -
        #[allow(missing_docs)] // documentation missing in model
 2246         -
        pub fn struct_with_json_name(
 2247         -
            mut self,
 2248         -
            input: ::std::option::Option<crate::model::StructWithJsonName>,
 2249         -
        ) -> Self {
 2250         -
            self.struct_with_json_name = input;
 2251         -
            self
 2252   2280   
    }
 2253         -
        #[allow(missing_docs)] // documentation missing in model
 2254         -
        pub fn timestamp(
 2255         -
            mut self,
 2256         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2257         -
        ) -> Self {
 2258         -
            self.timestamp = input;
 2259         -
            self
        2281  +
}
        2282  +
/// See [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
        2283  +
pub mod put_with_content_encoding_output {
        2284  +
        2285  +
    impl ::std::convert::From<Builder> for crate::output::PutWithContentEncodingOutput {
        2286  +
        fn from(builder: Builder) -> Self {
        2287  +
            builder.build()
 2260   2288   
        }
 2261         -
        #[allow(missing_docs)] // documentation missing in model
 2262         -
        pub fn unix_timestamp(
 2263         -
            mut self,
 2264         -
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2265         -
        ) -> Self {
 2266         -
            self.unix_timestamp = input;
 2267         -
            self
 2268   2289   
    }
 2269         -
        /// Consumes the builder and constructs a [`KitchenSinkOperationOutput`](crate::output::KitchenSinkOperationOutput).
 2270         -
        pub fn build(self) -> crate::output::KitchenSinkOperationOutput {
        2290  +
    /// A builder for [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
        2291  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2292  +
    pub struct Builder {}
        2293  +
    impl Builder {
        2294  +
        /// Consumes the builder and constructs a [`PutWithContentEncodingOutput`](crate::output::PutWithContentEncodingOutput).
        2295  +
        pub fn build(self) -> crate::output::PutWithContentEncodingOutput {
 2271   2296   
            self.build_enforcing_required_and_enum_traits()
 2272   2297   
        }
 2273   2298   
        fn build_enforcing_required_and_enum_traits(
 2274   2299   
            self,
 2275         -
        ) -> crate::output::KitchenSinkOperationOutput {
 2276         -
            crate::output::KitchenSinkOperationOutput {
 2277         -
                blob: self.blob,
 2278         -
                boolean: self.boolean,
 2279         -
                double: self.double,
 2280         -
                empty_struct: self.empty_struct,
 2281         -
                float: self.float,
 2282         -
                httpdate_timestamp: self.httpdate_timestamp,
 2283         -
                integer: self.integer,
 2284         -
                iso8601_timestamp: self.iso8601_timestamp,
 2285         -
                json_value: self.json_value,
 2286         -
                list_of_lists: self.list_of_lists,
 2287         -
                list_of_maps_of_strings: self.list_of_maps_of_strings,
 2288         -
                list_of_strings: self.list_of_strings,
 2289         -
                list_of_structs: self.list_of_structs,
 2290         -
                long: self.long,
 2291         -
                map_of_lists_of_strings: self.map_of_lists_of_strings,
 2292         -
                map_of_maps: self.map_of_maps,
 2293         -
                map_of_strings: self.map_of_strings,
 2294         -
                map_of_structs: self.map_of_structs,
 2295         -
                recursive_list: self.recursive_list,
 2296         -
                recursive_map: self.recursive_map,
 2297         -
                recursive_struct: self.recursive_struct,
 2298         -
                simple_struct: self.simple_struct,
 2299         -
                string: self.string,
 2300         -
                struct_with_json_name: self.struct_with_json_name,
 2301         -
                timestamp: self.timestamp,
 2302         -
                unix_timestamp: self.unix_timestamp,
 2303         -
            }
        2300  +
        ) -> crate::output::PutWithContentEncodingOutput {
        2301  +
            crate::output::PutWithContentEncodingOutput {}
 2304   2302   
        }
 2305   2303   
    }
 2306   2304   
}
 2307         -
/// See [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
 2308         -
pub mod empty_operation_output {
        2305  +
/// See [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
        2306  +
pub mod content_type_parameters_output {
 2309   2307   
 2310         -
    impl ::std::convert::From<Builder> for crate::output::EmptyOperationOutput {
        2308  +
    impl ::std::convert::From<Builder> for crate::output::ContentTypeParametersOutput {
 2311   2309   
        fn from(builder: Builder) -> Self {
 2312   2310   
            builder.build()
 2313   2311   
        }
 2314   2312   
    }
 2315         -
    /// A builder for [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
        2313  +
    /// A builder for [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
 2316   2314   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2317   2315   
    pub struct Builder {}
 2318   2316   
    impl Builder {
 2319         -
        /// Consumes the builder and constructs a [`EmptyOperationOutput`](crate::output::EmptyOperationOutput).
 2320         -
        pub fn build(self) -> crate::output::EmptyOperationOutput {
        2317  +
        /// Consumes the builder and constructs a [`ContentTypeParametersOutput`](crate::output::ContentTypeParametersOutput).
        2318  +
        pub fn build(self) -> crate::output::ContentTypeParametersOutput {
 2321   2319   
            self.build_enforcing_required_and_enum_traits()
 2322   2320   
        }
 2323         -
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::EmptyOperationOutput {
 2324         -
            crate::output::EmptyOperationOutput {}
        2321  +
        fn build_enforcing_required_and_enum_traits(
        2322  +
            self,
        2323  +
        ) -> crate::output::ContentTypeParametersOutput {
        2324  +
            crate::output::ContentTypeParametersOutput {}
 2325   2325   
        }
 2326   2326   
    }
 2327   2327   
}