Server Test

Server Test

rev. 7254d43655ed63111c94f599437f2b0d3f55446e

Files changed:

tmp-codegen-diff/codegen-server-test/pokemon-service-server-sdk/rust-server-codegen/src/operation.rs

@@ -1,1 +321,301 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/* ServerHttpBoundProtocolGenerator.kt:280 */
    3      3   
::pin_project_lite::pin_project! {
    4      4   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
    5         -
    /// [`GetStorageInput`](crate::input::GetStorageInput) using modelled bindings.
    6         -
    pub struct GetStorageInputFuture {
    7         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GetStorageInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
           5  +
    /// [`GetServerStatisticsInput`](crate::input::GetServerStatisticsInput) using modelled bindings.
           6  +
    pub struct GetServerStatisticsInputFuture {
           7  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GetServerStatisticsInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
    8      8   
    }
    9      9   
}
   10     10   
   11         -
impl std::future::Future for GetStorageInputFuture {
          11  +
impl std::future::Future for GetServerStatisticsInputFuture {
   12     12   
    type Output = Result<
   13         -
        crate::input::GetStorageInput,
          13  +
        crate::input::GetServerStatisticsInput,
   14     14   
        ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError,
   15     15   
    >;
   16     16   
   17     17   
    fn poll(
   18     18   
        self: std::pin::Pin<&mut Self>,
   19     19   
        cx: &mut std::task::Context<'_>,
   20     20   
    ) -> std::task::Poll<Self::Output> {
   21     21   
        let this = self.project();
   22     22   
        this.inner.as_mut().poll(cx)
   23     23   
    }
   24     24   
}
   25     25   
   26     26   
impl<B>
   27     27   
    ::aws_smithy_http_server::request::FromRequest<
   28     28   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
   29     29   
        B,
   30         -
    > for crate::input::GetStorageInput
          30  +
    > for crate::input::GetServerStatisticsInput
   31     31   
where
   32     32   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   33     33   
    B: 'static,
   34     34   
   35     35   
    B::Data: Send,
   36     36   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   37     37   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   38     38   
{
   39     39   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
   40         -
    type Future = GetStorageInputFuture;
          40  +
    type Future = GetServerStatisticsInputFuture;
   41     41   
   42     42   
    fn from_request(request: ::http_1x::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &crate::mimes::CONTENT_TYPE_APPLICATION_JSON,
   47     47   
            ) {
   48     48   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
   49     49   
            }
   50         -
            crate::protocol_serde::shape_get_storage::de_get_storage_http_request(request).await
          50  +
            crate::protocol_serde::shape_get_server_statistics::de_get_server_statistics_http_request(request)
          51  +
                            .await
   51     52   
        };
   52     53   
        use ::futures_util::future::TryFutureExt;
   53     54   
        let fut = fut.map_err(
   54     55   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
   55     56   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   56     57   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
   57     58   
                    e,
   58     59   
                )
   59     60   
            },
   60     61   
        );
   61         -
        GetStorageInputFuture {
          62  +
        GetServerStatisticsInputFuture {
   62     63   
            inner: Box::pin(fut),
   63     64   
        }
   64     65   
    }
   65     66   
}
   66     67   
/* ServerHttpBoundProtocolGenerator.kt:339 */
   67     68   
impl
   68     69   
    ::aws_smithy_http_server::response::IntoResponse<
   69     70   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
   70         -
    > for crate::output::GetStorageOutput
   71         -
{
   72         -
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
   73         -
        match crate::protocol_serde::shape_get_storage::ser_get_storage_http_response(self) {
   74         -
            Ok(response) => response,
   75         -
            Err(e) => {
   76         -
                ::tracing::error!(error = %e, "failed to serialize response");
   77         -
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
   78         -
            }
   79         -
        }
   80         -
    }
   81         -
}
   82         -
/* ServerHttpBoundProtocolGenerator.kt:360 */
   83         -
impl
   84         -
    ::aws_smithy_http_server::response::IntoResponse<
   85         -
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
   86         -
    > for crate::error::GetStorageError
          71  +
    > for crate::output::GetServerStatisticsOutput
   87     72   
{
   88     73   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
   89         -
        match crate::protocol_serde::shape_get_storage::ser_get_storage_http_error(&self) {
   90         -
            Ok(mut response) => {
   91         -
                response.extensions_mut().insert(
   92         -
                    ::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()),
   93         -
                );
   94         -
                response
   95         -
            }
   96         -
            Err(e) => {
   97         -
                ::tracing::error!(error = %e, "failed to serialize response");
   98         -
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
   99         -
            }
  100         -
        }
          74  +
        match crate::protocol_serde::shape_get_server_statistics::ser_get_server_statistics_http_response(self) {
          75  +
                        Ok(response) => response,
          76  +
                        Err(e) => {
          77  +
                            ::tracing::error!(error = %e, "failed to serialize response");
          78  +
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
          79  +
                        }
          80  +
                    }
  101     81   
    }
  102     82   
}
  103     83   
  104     84   
/* ServerHttpBoundProtocolGenerator.kt:280 */
  105     85   
::pin_project_lite::pin_project! {
  106     86   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  107         -
    /// [`GetPokemonSpeciesInput`](crate::input::GetPokemonSpeciesInput) using modelled bindings.
  108         -
    pub struct GetPokemonSpeciesInputFuture {
  109         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GetPokemonSpeciesInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
          87  +
    /// [`DoNothingInput`](crate::input::DoNothingInput) using modelled bindings.
          88  +
    pub struct DoNothingInputFuture {
          89  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::DoNothingInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
  110     90   
    }
  111     91   
}
  112     92   
  113         -
impl std::future::Future for GetPokemonSpeciesInputFuture {
          93  +
impl std::future::Future for DoNothingInputFuture {
  114     94   
    type Output = Result<
  115         -
        crate::input::GetPokemonSpeciesInput,
          95  +
        crate::input::DoNothingInput,
  116     96   
        ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError,
  117     97   
    >;
  118     98   
  119     99   
    fn poll(
  120    100   
        self: std::pin::Pin<&mut Self>,
  121    101   
        cx: &mut std::task::Context<'_>,
  122    102   
    ) -> std::task::Poll<Self::Output> {
  123    103   
        let this = self.project();
  124    104   
        this.inner.as_mut().poll(cx)
  125    105   
    }
  126    106   
}
  127    107   
  128    108   
impl<B>
  129    109   
    ::aws_smithy_http_server::request::FromRequest<
  130    110   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  131    111   
        B,
  132         -
    > for crate::input::GetPokemonSpeciesInput
         112  +
    > for crate::input::DoNothingInput
  133    113   
where
  134    114   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
  135    115   
    B: 'static,
  136    116   
  137    117   
    B::Data: Send,
  138    118   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  139    119   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  140    120   
{
  141    121   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  142         -
    type Future = GetPokemonSpeciesInputFuture;
         122  +
    type Future = DoNothingInputFuture;
  143    123   
  144    124   
    fn from_request(request: ::http_1x::Request<B>) -> Self::Future {
  145    125   
        let fut = async move {
  146    126   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  147    127   
                request.headers(),
  148    128   
                &crate::mimes::CONTENT_TYPE_APPLICATION_JSON,
  149    129   
            ) {
  150    130   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  151    131   
            }
  152         -
            crate::protocol_serde::shape_get_pokemon_species::de_get_pokemon_species_http_request(
  153         -
                request,
  154         -
            )
  155         -
            .await
         132  +
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request).await
  156    133   
        };
  157    134   
        use ::futures_util::future::TryFutureExt;
  158    135   
        let fut = fut.map_err(
  159    136   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  160    137   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  161    138   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  162    139   
                    e,
  163    140   
                )
  164    141   
            },
  165    142   
        );
  166         -
        GetPokemonSpeciesInputFuture {
         143  +
        DoNothingInputFuture {
  167    144   
            inner: Box::pin(fut),
  168    145   
        }
  169    146   
    }
  170    147   
}
  171    148   
/* ServerHttpBoundProtocolGenerator.kt:339 */
  172    149   
impl
  173    150   
    ::aws_smithy_http_server::response::IntoResponse<
  174    151   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  175         -
    > for crate::output::GetPokemonSpeciesOutput
  176         -
{
  177         -
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  178         -
        match crate::protocol_serde::shape_get_pokemon_species::ser_get_pokemon_species_http_response(self) {
  179         -
                        Ok(response) => response,
  180         -
                        Err(e) => {
  181         -
                            ::tracing::error!(error = %e, "failed to serialize response");
  182         -
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
  183         -
                        }
  184         -
                    }
  185         -
    }
  186         -
}
  187         -
/* ServerHttpBoundProtocolGenerator.kt:360 */
  188         -
impl
  189         -
    ::aws_smithy_http_server::response::IntoResponse<
  190         -
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  191         -
    > for crate::error::GetPokemonSpeciesError
         152  +
    > for crate::output::DoNothingOutput
  192    153   
{
  193    154   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  194         -
        match crate::protocol_serde::shape_get_pokemon_species::ser_get_pokemon_species_http_error(
  195         -
            &self,
  196         -
        ) {
  197         -
            Ok(mut response) => {
  198         -
                response.extensions_mut().insert(
  199         -
                    ::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()),
  200         -
                );
  201         -
                response
  202         -
            }
         155  +
        match crate::protocol_serde::shape_do_nothing::ser_do_nothing_http_response(self) {
         156  +
            Ok(response) => response,
  203    157   
            Err(e) => {
  204    158   
                ::tracing::error!(error = %e, "failed to serialize response");
  205    159   
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
  206    160   
            }
  207    161   
        }
  208    162   
    }
  209    163   
}
  210    164   
  211    165   
/* ServerHttpBoundProtocolGenerator.kt:280 */
  212    166   
::pin_project_lite::pin_project! {
  213    167   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  214         -
    /// [`StreamPokemonRadioInput`](crate::input::StreamPokemonRadioInput) using modelled bindings.
  215         -
    pub struct StreamPokemonRadioInputFuture {
  216         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::StreamPokemonRadioInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
         168  +
    /// [`CapturePokemonInput`](crate::input::CapturePokemonInput) using modelled bindings.
         169  +
    pub struct CapturePokemonInputFuture {
         170  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::CapturePokemonInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
  217    171   
    }
  218    172   
}
  219    173   
  220         -
impl std::future::Future for StreamPokemonRadioInputFuture {
         174  +
impl std::future::Future for CapturePokemonInputFuture {
  221    175   
    type Output = Result<
  222         -
        crate::input::StreamPokemonRadioInput,
         176  +
        crate::input::CapturePokemonInput,
  223    177   
        ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError,
  224    178   
    >;
  225    179   
  226    180   
    fn poll(
  227    181   
        self: std::pin::Pin<&mut Self>,
  228    182   
        cx: &mut std::task::Context<'_>,
  229    183   
    ) -> std::task::Poll<Self::Output> {
  230    184   
        let this = self.project();
  231    185   
        this.inner.as_mut().poll(cx)
  232    186   
    }
  233    187   
}
  234    188   
  235    189   
impl<B>
  236    190   
    ::aws_smithy_http_server::request::FromRequest<
  237    191   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  238    192   
        B,
  239         -
    > for crate::input::StreamPokemonRadioInput
         193  +
    > for crate::input::CapturePokemonInput
  240    194   
where
  241    195   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
  242    196   
    B: 'static,
  243    197   
         198  +
    B: ::http_body_1x::Body<Data = ::bytes::Bytes>
         199  +
        + ::std::marker::Send
         200  +
        + ::std::marker::Sync
         201  +
        + 'static,
         202  +
    B::Error: Into<::aws_smithy_types::body::Error> + 'static,
         203  +
  244    204   
    B::Data: Send,
  245    205   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  246    206   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  247    207   
{
  248    208   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  249         -
    type Future = StreamPokemonRadioInputFuture;
         209  +
    type Future = CapturePokemonInputFuture;
  250    210   
  251    211   
    fn from_request(request: ::http_1x::Request<B>) -> Self::Future {
  252    212   
        let fut = async move {
  253    213   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  254    214   
                request.headers(),
  255         -
                &crate::mimes::CONTENT_TYPE_APPLICATION_OCTET_STREAM,
         215  +
                &crate::mimes::CONTENT_TYPE_APPLICATION_VND_AMAZON_EVENTSTREAM,
  256    216   
            ) {
  257    217   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  258    218   
            }
  259         -
            crate::protocol_serde::shape_stream_pokemon_radio::de_stream_pokemon_radio_http_request(
  260         -
                request,
  261         -
            )
  262         -
            .await
         219  +
            crate::protocol_serde::shape_capture_pokemon::de_capture_pokemon_http_request(request)
         220  +
                .await
  263    221   
        };
  264    222   
        use ::futures_util::future::TryFutureExt;
  265    223   
        let fut = fut.map_err(
  266    224   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  267    225   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  268    226   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  269    227   
                    e,
  270    228   
                )
  271    229   
            },
  272    230   
        );
  273         -
        StreamPokemonRadioInputFuture {
         231  +
        CapturePokemonInputFuture {
  274    232   
            inner: Box::pin(fut),
  275    233   
        }
  276    234   
    }
  277    235   
}
  278    236   
/* ServerHttpBoundProtocolGenerator.kt:339 */
  279    237   
impl
  280    238   
    ::aws_smithy_http_server::response::IntoResponse<
  281    239   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  282         -
    > for crate::output::StreamPokemonRadioOutput
         240  +
    > for crate::output::CapturePokemonOutput
  283    241   
{
  284    242   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  285         -
        match crate::protocol_serde::shape_stream_pokemon_radio::ser_stream_pokemon_radio_http_response(self) {
  286         -
                        Ok(response) => response,
  287         -
                        Err(e) => {
  288         -
                            ::tracing::error!(error = %e, "failed to serialize response");
  289         -
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
  290         -
                        }
  291         -
                    }
         243  +
        match crate::protocol_serde::shape_capture_pokemon::ser_capture_pokemon_http_response(self)
         244  +
        {
         245  +
            Ok(response) => response,
         246  +
            Err(e) => {
         247  +
                ::tracing::error!(error = %e, "failed to serialize response");
         248  +
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
         249  +
            }
         250  +
        }
         251  +
    }
         252  +
}
         253  +
/* ServerHttpBoundProtocolGenerator.kt:360 */
         254  +
impl
         255  +
    ::aws_smithy_http_server::response::IntoResponse<
         256  +
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
         257  +
    > for crate::error::CapturePokemonError
         258  +
{
         259  +
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
         260  +
        match crate::protocol_serde::shape_capture_pokemon::ser_capture_pokemon_http_error(&self) {
         261  +
            Ok(mut response) => {
         262  +
                response.extensions_mut().insert(
         263  +
                    ::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()),
         264  +
                );
         265  +
                response
         266  +
            }
         267  +
            Err(e) => {
         268  +
                ::tracing::error!(error = %e, "failed to serialize response");
         269  +
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
         270  +
            }
         271  +
        }
  292    272   
    }
  293    273   
}
  294    274   
  295    275   
/* ServerHttpBoundProtocolGenerator.kt:280 */
  296    276   
::pin_project_lite::pin_project! {
  297    277   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  298    278   
    /// [`CheckHealthInput`](crate::input::CheckHealthInput) using modelled bindings.
  299    279   
    pub struct CheckHealthInputFuture {
  300    280   
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::CheckHealthInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
  301    281   
    }
@@ -349,329 +647,647 @@
  369    349   
                ::tracing::error!(error = %e, "failed to serialize response");
  370    350   
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
  371    351   
            }
  372    352   
        }
  373    353   
    }
  374    354   
}
  375    355   
  376    356   
/* ServerHttpBoundProtocolGenerator.kt:280 */
  377    357   
::pin_project_lite::pin_project! {
  378    358   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  379         -
    /// [`CapturePokemonInput`](crate::input::CapturePokemonInput) using modelled bindings.
  380         -
    pub struct CapturePokemonInputFuture {
  381         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::CapturePokemonInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
         359  +
    /// [`StreamPokemonRadioInput`](crate::input::StreamPokemonRadioInput) using modelled bindings.
         360  +
    pub struct StreamPokemonRadioInputFuture {
         361  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::StreamPokemonRadioInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
  382    362   
    }
  383    363   
}
  384    364   
  385         -
impl std::future::Future for CapturePokemonInputFuture {
         365  +
impl std::future::Future for StreamPokemonRadioInputFuture {
  386    366   
    type Output = Result<
  387         -
        crate::input::CapturePokemonInput,
         367  +
        crate::input::StreamPokemonRadioInput,
  388    368   
        ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError,
  389    369   
    >;
  390    370   
  391    371   
    fn poll(
  392    372   
        self: std::pin::Pin<&mut Self>,
  393    373   
        cx: &mut std::task::Context<'_>,
  394    374   
    ) -> std::task::Poll<Self::Output> {
  395    375   
        let this = self.project();
  396    376   
        this.inner.as_mut().poll(cx)
  397    377   
    }
  398    378   
}
  399    379   
  400    380   
impl<B>
  401    381   
    ::aws_smithy_http_server::request::FromRequest<
  402    382   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  403    383   
        B,
  404         -
    > for crate::input::CapturePokemonInput
         384  +
    > for crate::input::StreamPokemonRadioInput
  405    385   
where
  406    386   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
  407    387   
    B: 'static,
  408    388   
  409         -
    B: ::http_body_1x::Body<Data = ::bytes::Bytes>
  410         -
        + ::std::marker::Send
  411         -
        + ::std::marker::Sync
  412         -
        + 'static,
  413         -
    B::Error: Into<::aws_smithy_types::body::Error> + 'static,
  414         -
  415    389   
    B::Data: Send,
  416    390   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  417    391   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  418    392   
{
  419    393   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  420         -
    type Future = CapturePokemonInputFuture;
         394  +
    type Future = StreamPokemonRadioInputFuture;
  421    395   
  422    396   
    fn from_request(request: ::http_1x::Request<B>) -> Self::Future {
  423    397   
        let fut = async move {
  424    398   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  425    399   
                request.headers(),
  426         -
                &crate::mimes::CONTENT_TYPE_APPLICATION_VND_AMAZON_EVENTSTREAM,
         400  +
                &crate::mimes::CONTENT_TYPE_APPLICATION_OCTET_STREAM,
  427    401   
            ) {
  428    402   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  429    403   
            }
  430         -
            crate::protocol_serde::shape_capture_pokemon::de_capture_pokemon_http_request(request)
  431         -
                .await
         404  +
            crate::protocol_serde::shape_stream_pokemon_radio::de_stream_pokemon_radio_http_request(
         405  +
                request,
         406  +
            )
         407  +
            .await
  432    408   
        };
  433    409   
        use ::futures_util::future::TryFutureExt;
  434    410   
        let fut = fut.map_err(
  435    411   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  436    412   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  437    413   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  438    414   
                    e,
  439    415   
                )
  440    416   
            },
  441    417   
        );
  442         -
        CapturePokemonInputFuture {
         418  +
        StreamPokemonRadioInputFuture {
  443    419   
            inner: Box::pin(fut),
  444    420   
        }
  445    421   
    }
  446    422   
}
  447    423   
/* ServerHttpBoundProtocolGenerator.kt:339 */
  448    424   
impl
  449    425   
    ::aws_smithy_http_server::response::IntoResponse<
  450    426   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  451         -
    > for crate::output::CapturePokemonOutput
  452         -
{
  453         -
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  454         -
        match crate::protocol_serde::shape_capture_pokemon::ser_capture_pokemon_http_response(self)
  455         -
        {
  456         -
            Ok(response) => response,
  457         -
            Err(e) => {
  458         -
                ::tracing::error!(error = %e, "failed to serialize response");
  459         -
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
  460         -
            }
  461         -
        }
  462         -
    }
  463         -
}
  464         -
/* ServerHttpBoundProtocolGenerator.kt:360 */
  465         -
impl
  466         -
    ::aws_smithy_http_server::response::IntoResponse<
  467         -
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  468         -
    > for crate::error::CapturePokemonError
         427  +
    > for crate::output::StreamPokemonRadioOutput
  469    428   
{
  470    429   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  471         -
        match crate::protocol_serde::shape_capture_pokemon::ser_capture_pokemon_http_error(&self) {
  472         -
            Ok(mut response) => {
  473         -
                response.extensions_mut().insert(
  474         -
                    ::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()),
  475         -
                );
  476         -
                response
  477         -
            }
  478         -
            Err(e) => {
  479         -
                ::tracing::error!(error = %e, "failed to serialize response");
  480         -
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
  481         -
            }
  482         -
        }
         430  +
        match crate::protocol_serde::shape_stream_pokemon_radio::ser_stream_pokemon_radio_http_response(self) {
         431  +
                        Ok(response) => response,
         432  +
                        Err(e) => {
         433  +
                            ::tracing::error!(error = %e, "failed to serialize response");
         434  +
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
         435  +
                        }
         436  +
                    }
  483    437   
    }
  484    438   
}
  485    439   
  486    440   
/* ServerHttpBoundProtocolGenerator.kt:280 */
  487    441   
::pin_project_lite::pin_project! {
  488    442   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  489         -
    /// [`DoNothingInput`](crate::input::DoNothingInput) using modelled bindings.
  490         -
    pub struct DoNothingInputFuture {
  491         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::DoNothingInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
         443  +
    /// [`GetPokemonSpeciesInput`](crate::input::GetPokemonSpeciesInput) using modelled bindings.
         444  +
    pub struct GetPokemonSpeciesInputFuture {
         445  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GetPokemonSpeciesInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
  492    446   
    }
  493    447   
}
  494    448   
  495         -
impl std::future::Future for DoNothingInputFuture {
         449  +
impl std::future::Future for GetPokemonSpeciesInputFuture {
  496    450   
    type Output = Result<
  497         -
        crate::input::DoNothingInput,
         451  +
        crate::input::GetPokemonSpeciesInput,
  498    452   
        ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError,
  499    453   
    >;
  500    454   
  501    455   
    fn poll(
  502    456   
        self: std::pin::Pin<&mut Self>,
  503    457   
        cx: &mut std::task::Context<'_>,
  504    458   
    ) -> std::task::Poll<Self::Output> {
  505    459   
        let this = self.project();
  506    460   
        this.inner.as_mut().poll(cx)
  507    461   
    }
  508    462   
}
  509    463   
  510    464   
impl<B>
  511    465   
    ::aws_smithy_http_server::request::FromRequest<
  512    466   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  513    467   
        B,
  514         -
    > for crate::input::DoNothingInput
         468  +
    > for crate::input::GetPokemonSpeciesInput
  515    469   
where
  516    470   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
  517    471   
    B: 'static,
  518    472   
  519    473   
    B::Data: Send,
  520    474   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  521    475   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  522    476   
{
  523    477   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  524         -
    type Future = DoNothingInputFuture;
         478  +
    type Future = GetPokemonSpeciesInputFuture;
  525    479   
  526    480   
    fn from_request(request: ::http_1x::Request<B>) -> Self::Future {
  527    481   
        let fut = async move {
  528    482   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  529    483   
                request.headers(),
  530    484   
                &crate::mimes::CONTENT_TYPE_APPLICATION_JSON,
  531    485   
            ) {
  532    486   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  533    487   
            }
  534         -
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request).await
         488  +
            crate::protocol_serde::shape_get_pokemon_species::de_get_pokemon_species_http_request(
         489  +
                request,
         490  +
            )
         491  +
            .await
  535    492   
        };
  536    493   
        use ::futures_util::future::TryFutureExt;
  537    494   
        let fut = fut.map_err(
  538    495   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  539    496   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  540    497   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  541    498   
                    e,
  542    499   
                )
  543    500   
            },
  544    501   
        );
  545         -
        DoNothingInputFuture {
         502  +
        GetPokemonSpeciesInputFuture {
  546    503   
            inner: Box::pin(fut),
  547    504   
        }
  548    505   
    }
  549    506   
}
  550    507   
/* ServerHttpBoundProtocolGenerator.kt:339 */
  551    508   
impl
  552    509   
    ::aws_smithy_http_server::response::IntoResponse<
  553    510   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  554         -
    > for crate::output::DoNothingOutput
         511  +
    > for crate::output::GetPokemonSpeciesOutput
  555    512   
{
  556    513   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  557         -
        match crate::protocol_serde::shape_do_nothing::ser_do_nothing_http_response(self) {
  558         -
            Ok(response) => response,
         514  +
        match crate::protocol_serde::shape_get_pokemon_species::ser_get_pokemon_species_http_response(self) {
         515  +
                        Ok(response) => response,
         516  +
                        Err(e) => {
         517  +
                            ::tracing::error!(error = %e, "failed to serialize response");
         518  +
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
         519  +
                        }
         520  +
                    }
         521  +
    }
         522  +
}
         523  +
/* ServerHttpBoundProtocolGenerator.kt:360 */
         524  +
impl
         525  +
    ::aws_smithy_http_server::response::IntoResponse<
         526  +
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
         527  +
    > for crate::error::GetPokemonSpeciesError
         528  +
{
         529  +
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
         530  +
        match crate::protocol_serde::shape_get_pokemon_species::ser_get_pokemon_species_http_error(
         531  +
            &self,
         532  +
        ) {
         533  +
            Ok(mut response) => {
         534  +
                response.extensions_mut().insert(
         535  +
                    ::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()),
         536  +
                );
         537  +
                response
         538  +
            }
  559    539   
            Err(e) => {
  560    540   
                ::tracing::error!(error = %e, "failed to serialize response");
  561    541   
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
  562    542   
            }
  563    543   
        }
  564    544   
    }
  565    545   
}
  566    546   
  567    547   
/* ServerHttpBoundProtocolGenerator.kt:280 */
  568    548   
::pin_project_lite::pin_project! {
  569    549   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  570         -
    /// [`GetServerStatisticsInput`](crate::input::GetServerStatisticsInput) using modelled bindings.
  571         -
    pub struct GetServerStatisticsInputFuture {
  572         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GetServerStatisticsInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
         550  +
    /// [`GetStorageInput`](crate::input::GetStorageInput) using modelled bindings.
         551  +
    pub struct GetStorageInputFuture {
         552  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GetStorageInput, ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError>> + Send>>
  573    553   
    }
  574    554   
}
  575    555   
  576         -
impl std::future::Future for GetServerStatisticsInputFuture {
         556  +
impl std::future::Future for GetStorageInputFuture {
  577    557   
    type Output = Result<
  578         -
        crate::input::GetServerStatisticsInput,
         558  +
        crate::input::GetStorageInput,
  579    559   
        ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError,
  580    560   
    >;
  581    561   
  582    562   
    fn poll(
  583    563   
        self: std::pin::Pin<&mut Self>,
  584    564   
        cx: &mut std::task::Context<'_>,
  585    565   
    ) -> std::task::Poll<Self::Output> {
  586    566   
        let this = self.project();
  587    567   
        this.inner.as_mut().poll(cx)
  588    568   
    }
  589    569   
}
  590    570   
  591    571   
impl<B>
  592    572   
    ::aws_smithy_http_server::request::FromRequest<
  593    573   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  594    574   
        B,
  595         -
    > for crate::input::GetServerStatisticsInput
         575  +
    > for crate::input::GetStorageInput
  596    576   
where
  597    577   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
  598    578   
    B: 'static,
  599    579   
  600    580   
    B::Data: Send,
  601    581   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  602    582   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  603    583   
{
  604    584   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  605         -
    type Future = GetServerStatisticsInputFuture;
         585  +
    type Future = GetStorageInputFuture;
  606    586   
  607    587   
    fn from_request(request: ::http_1x::Request<B>) -> Self::Future {
  608    588   
        let fut = async move {
  609    589   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  610    590   
                request.headers(),
  611    591   
                &crate::mimes::CONTENT_TYPE_APPLICATION_JSON,
  612    592   
            ) {
  613    593   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  614    594   
            }
  615         -
            crate::protocol_serde::shape_get_server_statistics::de_get_server_statistics_http_request(request)
  616         -
                            .await
         595  +
            crate::protocol_serde::shape_get_storage::de_get_storage_http_request(request).await
  617    596   
        };
  618    597   
        use ::futures_util::future::TryFutureExt;
  619    598   
        let fut = fut.map_err(
  620    599   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  621    600   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  622    601   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  623    602   
                    e,
  624    603   
                )
  625    604   
            },
  626    605   
        );
  627         -
        GetServerStatisticsInputFuture {
         606  +
        GetStorageInputFuture {
  628    607   
            inner: Box::pin(fut),
  629    608   
        }
  630    609   
    }
  631    610   
}
  632    611   
/* ServerHttpBoundProtocolGenerator.kt:339 */
  633    612   
impl
  634    613   
    ::aws_smithy_http_server::response::IntoResponse<
  635    614   
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
  636         -
    > for crate::output::GetServerStatisticsOutput
         615  +
    > for crate::output::GetStorageOutput
  637    616   
{
  638    617   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  639         -
        match crate::protocol_serde::shape_get_server_statistics::ser_get_server_statistics_http_response(self) {
  640         -
                        Ok(response) => response,
  641         -
                        Err(e) => {
  642         -
                            ::tracing::error!(error = %e, "failed to serialize response");
  643         -
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
  644         -
                        }
  645         -
                    }
         618  +
        match crate::protocol_serde::shape_get_storage::ser_get_storage_http_response(self) {
         619  +
            Ok(response) => response,
         620  +
            Err(e) => {
         621  +
                ::tracing::error!(error = %e, "failed to serialize response");
         622  +
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
         623  +
            }
         624  +
        }
         625  +
    }
         626  +
}
         627  +
/* ServerHttpBoundProtocolGenerator.kt:360 */
         628  +
impl
         629  +
    ::aws_smithy_http_server::response::IntoResponse<
         630  +
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
         631  +
    > for crate::error::GetStorageError
         632  +
{
         633  +
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
         634  +
        match crate::protocol_serde::shape_get_storage::ser_get_storage_http_error(&self) {
         635  +
            Ok(mut response) => {
         636  +
                response.extensions_mut().insert(
         637  +
                    ::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()),
         638  +
                );
         639  +
                response
         640  +
            }
         641  +
            Err(e) => {
         642  +
                ::tracing::error!(error = %e, "failed to serialize response");
         643  +
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::into_response(::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(e))
         644  +
            }
         645  +
        }
  646    646   
    }
  647    647   
}

tmp-codegen-diff/codegen-server-test/pokemon-service-server-sdk/rust-server-codegen/src/operation_shape.rs

@@ -1,1 +152,130 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/* ServerOperationGenerator.kt:48 */
    3         -
/// /* ServerOperationGenerator.kt:48 */Retrieve information about your Pokédex.
           3  +
/// /* ServerOperationGenerator.kt:48 */Retrieve HTTP server statistiscs, such as calls count.
    4      4   
/* ServerOperationGenerator.kt:55 */
    5         -
pub struct GetStorage;
           5  +
pub struct GetServerStatistics;
    6      6   
    7         -
impl ::aws_smithy_http_server::operation::OperationShape for GetStorage {
           7  +
impl ::aws_smithy_http_server::operation::OperationShape for GetServerStatistics {
    8      8   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
    9      9   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   10         -
            "com.aws.example#GetStorage",
          10  +
            "com.aws.example#GetServerStatistics",
   11     11   
            "com.aws.example",
   12         -
            "GetStorage",
          12  +
            "GetServerStatistics",
   13     13   
        );
   14     14   
   15         -
    type Input = crate::input::GetStorageInput;
   16         -
    type Output = crate::output::GetStorageOutput;
   17         -
    type Error = crate::error::GetStorageError;
          15  +
    type Input = crate::input::GetServerStatisticsInput;
          16  +
    type Output = crate::output::GetServerStatisticsOutput;
          17  +
    type Error = std::convert::Infallible;
   18     18   
}
   19     19   
   20         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GetStorage {
          20  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GetServerStatistics {
   21     21   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
   22         -
        ::aws_smithy_http_server::instrumentation::sensitivity::headers::MakeHeaders<
   23         -
            fn(
   24         -
                &::http_1x::header::HeaderName,
   25         -
            )
   26         -
                -> ::aws_smithy_http_server::instrumentation::sensitivity::headers::HeaderMarker,
   27         -
        >,
          22  +
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   28     23   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
   29         -
            ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeLabel<
   30         -
                fn(usize) -> bool,
   31         -
            >,
          24  +
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
   32     25   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
   33     26   
        >,
   34     27   
    >;
   35     28   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
   36     29   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   37     30   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   38     31   
    >;
   39     32   
   40     33   
    fn request_fmt() -> Self::RequestFmt {
   41     34   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   42         -
            .header({
   43         -
                |name: &::http_1x::header::HeaderName| {
   44         -
                    let name_match = matches!(name.as_str(), "passcode");
   45         -
                    let key_suffix = None;
   46         -
                    let value = name_match;
   47         -
                    ::aws_smithy_http_server::instrumentation::sensitivity::headers::HeaderMarker {
   48         -
                        key_suffix,
   49         -
                        value,
   50         -
                    }
   51         -
                }
   52         -
            } as fn(&_) -> _)
   53         -
            .label(
   54         -
                { |index: usize| matches!(index, 1) } as fn(usize) -> bool,
   55         -
                None,
   56         -
            )
   57     35   
    }
   58     36   
   59     37   
    fn response_fmt() -> Self::ResponseFmt {
   60     38   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   61     39   
    }
   62     40   
}
   63     41   
/* ServerOperationGenerator.kt:88 */
   64     42   
   65         -
/// /* ServerOperationGenerator.kt:48 */Retrieve information about a Pokémon species.
          43  +
/// /* ServerOperationGenerator.kt:48 */DoNothing operation, used to stress test the framework.
   66     44   
/* ServerOperationGenerator.kt:55 */
   67         -
pub struct GetPokemonSpecies;
          45  +
pub struct DoNothing;
   68     46   
   69         -
impl ::aws_smithy_http_server::operation::OperationShape for GetPokemonSpecies {
          47  +
impl ::aws_smithy_http_server::operation::OperationShape for DoNothing {
   70     48   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   71     49   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   72         -
            "com.aws.example#GetPokemonSpecies",
          50  +
            "com.aws.example#DoNothing",
   73     51   
            "com.aws.example",
   74         -
            "GetPokemonSpecies",
          52  +
            "DoNothing",
   75     53   
        );
   76     54   
   77         -
    type Input = crate::input::GetPokemonSpeciesInput;
   78         -
    type Output = crate::output::GetPokemonSpeciesOutput;
   79         -
    type Error = crate::error::GetPokemonSpeciesError;
          55  +
    type Input = crate::input::DoNothingInput;
          56  +
    type Output = crate::output::DoNothingOutput;
          57  +
    type Error = std::convert::Infallible;
   80     58   
}
   81     59   
   82         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GetPokemonSpecies {
          60  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for DoNothing {
   83     61   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
   84     62   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   85     63   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
   86     64   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
   87     65   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
   88     66   
        >,
   89     67   
    >;
   90     68   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
   91     69   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   92     70   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
   93     71   
    >;
   94     72   
   95     73   
    fn request_fmt() -> Self::RequestFmt {
   96     74   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   97     75   
    }
   98     76   
   99     77   
    fn response_fmt() -> Self::ResponseFmt {
  100     78   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  101     79   
    }
  102     80   
}
  103     81   
/* ServerOperationGenerator.kt:88 */
  104     82   
  105         -
/// /* ServerOperationGenerator.kt:48 */Fetch a radio song from the database and stream it back as a playable audio.
          83  +
/// /* ServerOperationGenerator.kt:48 */Capture Pokémons via event streams.
  106     84   
/* ServerOperationGenerator.kt:55 */
  107         -
pub struct StreamPokemonRadio;
          85  +
pub struct CapturePokemon;
  108     86   
  109         -
impl ::aws_smithy_http_server::operation::OperationShape for StreamPokemonRadio {
          87  +
impl ::aws_smithy_http_server::operation::OperationShape for CapturePokemon {
  110     88   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  111     89   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  112         -
            "com.aws.example#StreamPokemonRadio",
          90  +
            "com.aws.example#CapturePokemon",
  113     91   
            "com.aws.example",
  114         -
            "StreamPokemonRadio",
          92  +
            "CapturePokemon",
  115     93   
        );
  116     94   
  117         -
    type Input = crate::input::StreamPokemonRadioInput;
  118         -
    type Output = crate::output::StreamPokemonRadioOutput;
  119         -
    type Error = std::convert::Infallible;
          95  +
    type Input = crate::input::CapturePokemonInput;
          96  +
    type Output = crate::output::CapturePokemonOutput;
          97  +
    type Error = crate::error::CapturePokemonError;
  120     98   
}
  121     99   
  122         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for StreamPokemonRadio {
         100  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for CapturePokemon {
  123    101   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
  124    102   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  125    103   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
  126    104   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  127    105   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  128    106   
        >,
  129    107   
    >;
  130    108   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
  131    109   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  132    110   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
@@ -155,133 +303,303 @@
  175    153   
    fn request_fmt() -> Self::RequestFmt {
  176    154   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  177    155   
    }
  178    156   
  179    157   
    fn response_fmt() -> Self::ResponseFmt {
  180    158   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  181    159   
    }
  182    160   
}
  183    161   
/* ServerOperationGenerator.kt:88 */
  184    162   
  185         -
/// /* ServerOperationGenerator.kt:48 */Capture Pokémons via event streams.
         163  +
/// /* ServerOperationGenerator.kt:48 */Fetch a radio song from the database and stream it back as a playable audio.
  186    164   
/* ServerOperationGenerator.kt:55 */
  187         -
pub struct CapturePokemon;
         165  +
pub struct StreamPokemonRadio;
  188    166   
  189         -
impl ::aws_smithy_http_server::operation::OperationShape for CapturePokemon {
         167  +
impl ::aws_smithy_http_server::operation::OperationShape for StreamPokemonRadio {
  190    168   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  191    169   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  192         -
            "com.aws.example#CapturePokemon",
         170  +
            "com.aws.example#StreamPokemonRadio",
  193    171   
            "com.aws.example",
  194         -
            "CapturePokemon",
         172  +
            "StreamPokemonRadio",
  195    173   
        );
  196    174   
  197         -
    type Input = crate::input::CapturePokemonInput;
  198         -
    type Output = crate::output::CapturePokemonOutput;
  199         -
    type Error = crate::error::CapturePokemonError;
         175  +
    type Input = crate::input::StreamPokemonRadioInput;
         176  +
    type Output = crate::output::StreamPokemonRadioOutput;
         177  +
    type Error = std::convert::Infallible;
  200    178   
}
  201    179   
  202         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for CapturePokemon {
         180  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for StreamPokemonRadio {
  203    181   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
  204    182   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  205    183   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
  206    184   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  207    185   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  208    186   
        >,
  209    187   
    >;
  210    188   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
  211    189   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  212    190   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  213    191   
    >;
  214    192   
  215    193   
    fn request_fmt() -> Self::RequestFmt {
  216    194   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  217    195   
    }
  218    196   
  219    197   
    fn response_fmt() -> Self::ResponseFmt {
  220    198   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  221    199   
    }
  222    200   
}
  223    201   
/* ServerOperationGenerator.kt:88 */
  224    202   
  225         -
/// /* ServerOperationGenerator.kt:48 */DoNothing operation, used to stress test the framework.
         203  +
/// /* ServerOperationGenerator.kt:48 */Retrieve information about a Pokémon species.
  226    204   
/* ServerOperationGenerator.kt:55 */
  227         -
pub struct DoNothing;
         205  +
pub struct GetPokemonSpecies;
  228    206   
  229         -
impl ::aws_smithy_http_server::operation::OperationShape for DoNothing {
         207  +
impl ::aws_smithy_http_server::operation::OperationShape for GetPokemonSpecies {
  230    208   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  231    209   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  232         -
            "com.aws.example#DoNothing",
         210  +
            "com.aws.example#GetPokemonSpecies",
  233    211   
            "com.aws.example",
  234         -
            "DoNothing",
         212  +
            "GetPokemonSpecies",
  235    213   
        );
  236    214   
  237         -
    type Input = crate::input::DoNothingInput;
  238         -
    type Output = crate::output::DoNothingOutput;
  239         -
    type Error = std::convert::Infallible;
         215  +
    type Input = crate::input::GetPokemonSpeciesInput;
         216  +
    type Output = crate::output::GetPokemonSpeciesOutput;
         217  +
    type Error = crate::error::GetPokemonSpeciesError;
  240    218   
}
  241    219   
  242         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for DoNothing {
         220  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GetPokemonSpecies {
  243    221   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
  244    222   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  245    223   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
  246    224   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  247    225   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  248    226   
        >,
  249    227   
    >;
  250    228   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
  251    229   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  252    230   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  253    231   
    >;
  254    232   
  255    233   
    fn request_fmt() -> Self::RequestFmt {
  256    234   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  257    235   
    }
  258    236   
  259    237   
    fn response_fmt() -> Self::ResponseFmt {
  260    238   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  261    239   
    }
  262    240   
}
  263    241   
/* ServerOperationGenerator.kt:88 */
  264    242   
  265         -
/// /* ServerOperationGenerator.kt:48 */Retrieve HTTP server statistiscs, such as calls count.
         243  +
/// /* ServerOperationGenerator.kt:48 */Retrieve information about your Pokédex.
  266    244   
/* ServerOperationGenerator.kt:55 */
  267         -
pub struct GetServerStatistics;
         245  +
pub struct GetStorage;
  268    246   
  269         -
impl ::aws_smithy_http_server::operation::OperationShape for GetServerStatistics {
         247  +
impl ::aws_smithy_http_server::operation::OperationShape for GetStorage {
  270    248   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  271    249   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  272         -
            "com.aws.example#GetServerStatistics",
         250  +
            "com.aws.example#GetStorage",
  273    251   
            "com.aws.example",
  274         -
            "GetServerStatistics",
         252  +
            "GetStorage",
  275    253   
        );
  276    254   
  277         -
    type Input = crate::input::GetServerStatisticsInput;
  278         -
    type Output = crate::output::GetServerStatisticsOutput;
  279         -
    type Error = std::convert::Infallible;
         255  +
    type Input = crate::input::GetStorageInput;
         256  +
    type Output = crate::output::GetStorageOutput;
         257  +
    type Error = crate::error::GetStorageError;
  280    258   
}
  281    259   
  282         -
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GetServerStatistics {
         260  +
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GetStorage {
  283    261   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt<
  284         -
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
         262  +
        ::aws_smithy_http_server::instrumentation::sensitivity::headers::MakeHeaders<
         263  +
            fn(
         264  +
                &::http_1x::header::HeaderName,
         265  +
            )
         266  +
                -> ::aws_smithy_http_server::instrumentation::sensitivity::headers::HeaderMarker,
         267  +
        >,
  285    268   
        ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeUri<
  286         -
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
         269  +
            ::aws_smithy_http_server::instrumentation::sensitivity::uri::MakeLabel<
         270  +
                fn(usize) -> bool,
         271  +
            >,
  287    272   
            ::aws_smithy_http_server::instrumentation::MakeIdentity,
  288    273   
        >,
  289    274   
    >;
  290    275   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt<
  291    276   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  292    277   
        ::aws_smithy_http_server::instrumentation::MakeIdentity,
  293    278   
    >;
  294    279   
  295    280   
    fn request_fmt() -> Self::RequestFmt {
  296    281   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
         282  +
            .header({
         283  +
                |name: &::http_1x::header::HeaderName| {
         284  +
                    let name_match = matches!(name.as_str(), "passcode");
         285  +
                    let key_suffix = None;
         286  +
                    let value = name_match;
         287  +
                    ::aws_smithy_http_server::instrumentation::sensitivity::headers::HeaderMarker {
         288  +
                        key_suffix,
         289  +
                        value,
         290  +
                    }
         291  +
                }
         292  +
            } as fn(&_) -> _)
         293  +
            .label(
         294  +
                { |index: usize| matches!(index, 1) } as fn(usize) -> bool,
         295  +
                None,
         296  +
            )
  297    297   
    }
  298    298   
  299    299   
    fn response_fmt() -> Self::ResponseFmt {
  300    300   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  301    301   
    }
  302    302   
}
  303    303   
/* ServerOperationGenerator.kt:88 */

tmp-codegen-diff/codegen-server-test/pokemon-service-server-sdk/rust-server-codegen/src/output.rs

@@ -1,1 +551,376 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/* StructureGenerator.kt:197 */
    3         -
/// /* StructureGenerator.kt:197 */Contents of the Pokémon storage.
           3  +
#[allow(missing_docs)] // documentation missing in model
    4      4   
/* RustType.kt:534 */
    5      5   
#[derive(
    6      6   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
    7      7   
)]
    8         -
pub /* StructureGenerator.kt:201 */ struct GetStorageOutput {
    9         -
    /// /* StructureGenerator.kt:231 */A list of Pokémon species.
   10         -
    pub collection: ::std::vec::Vec<::std::string::String>,
           8  +
pub /* StructureGenerator.kt:201 */ struct GetServerStatisticsOutput {
           9  +
    /// /* StructureGenerator.kt:231 */The number of calls executed by the server.
          10  +
    pub calls_count: i64,
   11     11   
    /* StructureGenerator.kt:201 */
   12     12   
}
   13     13   
/* StructureGenerator.kt:135 */
   14         -
impl GetStorageOutput {
   15         -
    /// /* StructureGenerator.kt:231 */A list of Pokémon species.
          14  +
impl GetServerStatisticsOutput {
          15  +
    /// /* StructureGenerator.kt:231 */The number of calls executed by the server.
   16     16   
    /* StructureGenerator.kt:166 */
   17         -
    pub fn collection(&self) -> &[::std::string::String] {
   18         -
        /* StructureGenerator.kt:171 */
   19         -
        use std::ops::Deref;
   20         -
        self.collection.deref()
          17  +
    pub fn calls_count(&self) -> i64 {
          18  +
        /* StructureGenerator.kt:168 */
          19  +
        self.calls_count
   21     20   
        /* StructureGenerator.kt:166 */
   22     21   
    }
   23     22   
    /* StructureGenerator.kt:135 */
   24     23   
}
   25     24   
/* ServerCodegenVisitor.kt:356 */
   26         -
impl GetStorageOutput {
   27         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GetStorageOutput`](crate::output::GetStorageOutput).
          25  +
impl GetServerStatisticsOutput {
          26  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
   28     27   
    /* ServerBuilderGenerator.kt:295 */
   29         -
    pub fn builder() -> crate::output::get_storage_output::Builder {
          28  +
    pub fn builder() -> crate::output::get_server_statistics_output::Builder {
   30     29   
        /* ServerBuilderGenerator.kt:296 */
   31         -
        crate::output::get_storage_output::Builder::default()
          30  +
        crate::output::get_server_statistics_output::Builder::default()
   32     31   
        /* ServerBuilderGenerator.kt:295 */
   33     32   
    }
   34     33   
    /* ServerCodegenVisitor.kt:356 */
   35     34   
}
   36     35   
   37     36   
/* StructureGenerator.kt:197 */
   38     37   
#[allow(missing_docs)] // documentation missing in model
   39     38   
/* RustType.kt:534 */
   40     39   
#[derive(
   41     40   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
   42     41   
)]
   43         -
pub /* StructureGenerator.kt:201 */ struct GetPokemonSpeciesOutput {
   44         -
    /// /* StructureGenerator.kt:231 */The name for this resource.
   45         -
    pub name: ::std::string::String,
   46         -
    /// /* StructureGenerator.kt:231 */A list of flavor text entries for this Pokémon species.
   47         -
    pub flavor_text_entries: ::std::vec::Vec<crate::model::FlavorText>,
   48         -
    /* StructureGenerator.kt:201 */
   49         -
}
   50         -
/* StructureGenerator.kt:135 */
   51         -
impl GetPokemonSpeciesOutput {
   52         -
    /// /* StructureGenerator.kt:231 */The name for this resource.
   53         -
    /* StructureGenerator.kt:166 */
   54         -
    pub fn name(&self) -> &str {
   55         -
        /* StructureGenerator.kt:171 */
   56         -
        use std::ops::Deref;
   57         -
        self.name.deref()
   58         -
        /* StructureGenerator.kt:166 */
   59         -
    }
   60         -
    /// /* StructureGenerator.kt:231 */A list of flavor text entries for this Pokémon species.
   61         -
    /* StructureGenerator.kt:166 */
   62         -
    pub fn flavor_text_entries(&self) -> &[crate::model::FlavorText] {
   63         -
        /* StructureGenerator.kt:171 */
   64         -
        use std::ops::Deref;
   65         -
        self.flavor_text_entries.deref()
   66         -
        /* StructureGenerator.kt:166 */
   67         -
    }
   68         -
    /* StructureGenerator.kt:135 */
   69         -
}
          42  +
pub /* StructureGenerator.kt:201 */ struct DoNothingOutput {/* StructureGenerator.kt:201 */}
   70     43   
/* ServerCodegenVisitor.kt:356 */
   71         -
impl GetPokemonSpeciesOutput {
   72         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
          44  +
impl DoNothingOutput {
          45  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DoNothingOutput`](crate::output::DoNothingOutput).
   73     46   
    /* ServerBuilderGenerator.kt:295 */
   74         -
    pub fn builder() -> crate::output::get_pokemon_species_output::Builder {
          47  +
    pub fn builder() -> crate::output::do_nothing_output::Builder {
   75     48   
        /* ServerBuilderGenerator.kt:296 */
   76         -
        crate::output::get_pokemon_species_output::Builder::default()
          49  +
        crate::output::do_nothing_output::Builder::default()
   77     50   
        /* ServerBuilderGenerator.kt:295 */
   78     51   
    }
   79     52   
    /* ServerCodegenVisitor.kt:356 */
   80     53   
}
   81     54   
   82     55   
/* StructureGenerator.kt:197 */
   83     56   
#[allow(missing_docs)] // documentation missing in model
   84     57   
/* RustType.kt:534 */
   85     58   
#[derive(::std::fmt::Debug)]
   86         -
pub /* StructureGenerator.kt:201 */ struct StreamPokemonRadioOutput {
          59  +
pub /* StructureGenerator.kt:201 */ struct CapturePokemonOutput {
   87     60   
    /* StructureGenerator.kt:231 */
   88     61   
    #[allow(missing_docs)] // documentation missing in model
   89         -
    pub data: ::aws_smithy_types::byte_stream::ByteStream,
          62  +
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
          63  +
        crate::model::CapturePokemonEvents,
          64  +
        crate::error::CapturePokemonEventsError,
          65  +
    >,
   90     66   
    /* StructureGenerator.kt:201 */
   91     67   
}
   92     68   
/* StructureGenerator.kt:135 */
   93         -
impl StreamPokemonRadioOutput {
          69  +
impl CapturePokemonOutput {
   94     70   
    /* StructureGenerator.kt:231 */
   95     71   
    #[allow(missing_docs)] // documentation missing in model
   96     72   
                           /* StructureGenerator.kt:166 */
   97         -
    pub fn data(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
          73  +
    pub fn events(
          74  +
        &self,
          75  +
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
          76  +
        crate::model::CapturePokemonEvents,
          77  +
        crate::error::CapturePokemonEventsError,
          78  +
    > {
   98     79   
        /* StructureGenerator.kt:172 */
   99         -
        &self.data
          80  +
        &self.events
  100     81   
        /* StructureGenerator.kt:166 */
  101     82   
    }
  102     83   
    /* StructureGenerator.kt:135 */
  103     84   
}
  104     85   
/* ServerCodegenVisitor.kt:356 */
  105         -
impl StreamPokemonRadioOutput {
  106         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamPokemonRadioOutput`](crate::output::StreamPokemonRadioOutput).
          86  +
impl CapturePokemonOutput {
          87  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`CapturePokemonOutput`](crate::output::CapturePokemonOutput).
  107     88   
    /* ServerBuilderGenerator.kt:295 */
  108         -
    pub fn builder() -> crate::output::stream_pokemon_radio_output::Builder {
          89  +
    pub fn builder() -> crate::output::capture_pokemon_output::Builder {
  109     90   
        /* ServerBuilderGenerator.kt:296 */
  110         -
        crate::output::stream_pokemon_radio_output::Builder::default()
          91  +
        crate::output::capture_pokemon_output::Builder::default()
  111     92   
        /* ServerBuilderGenerator.kt:295 */
  112     93   
    }
  113     94   
    /* ServerCodegenVisitor.kt:356 */
  114     95   
}
  115     96   
  116     97   
/* StructureGenerator.kt:197 */
  117     98   
#[allow(missing_docs)] // documentation missing in model
  118     99   
/* RustType.kt:534 */
  119    100   
#[derive(
  120    101   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  121    102   
)]
  122    103   
pub /* StructureGenerator.kt:201 */ struct CheckHealthOutput {/* StructureGenerator.kt:201 */}
  123    104   
/* ServerCodegenVisitor.kt:356 */
  124    105   
impl CheckHealthOutput {
  125    106   
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`CheckHealthOutput`](crate::output::CheckHealthOutput).
  126    107   
    /* ServerBuilderGenerator.kt:295 */
  127    108   
    pub fn builder() -> crate::output::check_health_output::Builder {
  128    109   
        /* ServerBuilderGenerator.kt:296 */
  129    110   
        crate::output::check_health_output::Builder::default()
  130    111   
        /* ServerBuilderGenerator.kt:295 */
  131    112   
    }
  132    113   
    /* ServerCodegenVisitor.kt:356 */
  133    114   
}
  134    115   
  135    116   
/* StructureGenerator.kt:197 */
  136    117   
#[allow(missing_docs)] // documentation missing in model
  137    118   
/* RustType.kt:534 */
  138    119   
#[derive(::std::fmt::Debug)]
  139         -
pub /* StructureGenerator.kt:201 */ struct CapturePokemonOutput {
         120  +
pub /* StructureGenerator.kt:201 */ struct StreamPokemonRadioOutput {
  140    121   
    /* StructureGenerator.kt:231 */
  141    122   
    #[allow(missing_docs)] // documentation missing in model
  142         -
    pub events: ::aws_smithy_http::event_stream::EventStreamSender<
  143         -
        crate::model::CapturePokemonEvents,
  144         -
        crate::error::CapturePokemonEventsError,
  145         -
    >,
         123  +
    pub data: ::aws_smithy_types::byte_stream::ByteStream,
  146    124   
    /* StructureGenerator.kt:201 */
  147    125   
}
  148    126   
/* StructureGenerator.kt:135 */
  149         -
impl CapturePokemonOutput {
         127  +
impl StreamPokemonRadioOutput {
  150    128   
    /* StructureGenerator.kt:231 */
  151    129   
    #[allow(missing_docs)] // documentation missing in model
  152    130   
                           /* StructureGenerator.kt:166 */
  153         -
    pub fn events(
  154         -
        &self,
  155         -
    ) -> &::aws_smithy_http::event_stream::EventStreamSender<
  156         -
        crate::model::CapturePokemonEvents,
  157         -
        crate::error::CapturePokemonEventsError,
  158         -
    > {
         131  +
    pub fn data(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
  159    132   
        /* StructureGenerator.kt:172 */
  160         -
        &self.events
         133  +
        &self.data
  161    134   
        /* StructureGenerator.kt:166 */
  162    135   
    }
  163    136   
    /* StructureGenerator.kt:135 */
  164    137   
}
  165    138   
/* ServerCodegenVisitor.kt:356 */
  166         -
impl CapturePokemonOutput {
  167         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`CapturePokemonOutput`](crate::output::CapturePokemonOutput).
         139  +
impl StreamPokemonRadioOutput {
         140  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StreamPokemonRadioOutput`](crate::output::StreamPokemonRadioOutput).
  168    141   
    /* ServerBuilderGenerator.kt:295 */
  169         -
    pub fn builder() -> crate::output::capture_pokemon_output::Builder {
         142  +
    pub fn builder() -> crate::output::stream_pokemon_radio_output::Builder {
  170    143   
        /* ServerBuilderGenerator.kt:296 */
  171         -
        crate::output::capture_pokemon_output::Builder::default()
         144  +
        crate::output::stream_pokemon_radio_output::Builder::default()
  172    145   
        /* ServerBuilderGenerator.kt:295 */
  173    146   
    }
  174    147   
    /* ServerCodegenVisitor.kt:356 */
  175    148   
}
  176    149   
  177    150   
/* StructureGenerator.kt:197 */
  178    151   
#[allow(missing_docs)] // documentation missing in model
  179    152   
/* RustType.kt:534 */
  180    153   
#[derive(
  181    154   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  182    155   
)]
  183         -
pub /* StructureGenerator.kt:201 */ struct DoNothingOutput {/* StructureGenerator.kt:201 */}
         156  +
pub /* StructureGenerator.kt:201 */ struct GetPokemonSpeciesOutput {
         157  +
    /// /* StructureGenerator.kt:231 */The name for this resource.
         158  +
    pub name: ::std::string::String,
         159  +
    /// /* StructureGenerator.kt:231 */A list of flavor text entries for this Pokémon species.
         160  +
    pub flavor_text_entries: ::std::vec::Vec<crate::model::FlavorText>,
         161  +
    /* StructureGenerator.kt:201 */
         162  +
}
         163  +
/* StructureGenerator.kt:135 */
         164  +
impl GetPokemonSpeciesOutput {
         165  +
    /// /* StructureGenerator.kt:231 */The name for this resource.
         166  +
    /* StructureGenerator.kt:166 */
         167  +
    pub fn name(&self) -> &str {
         168  +
        /* StructureGenerator.kt:171 */
         169  +
        use std::ops::Deref;
         170  +
        self.name.deref()
         171  +
        /* StructureGenerator.kt:166 */
         172  +
    }
         173  +
    /// /* StructureGenerator.kt:231 */A list of flavor text entries for this Pokémon species.
         174  +
    /* StructureGenerator.kt:166 */
         175  +
    pub fn flavor_text_entries(&self) -> &[crate::model::FlavorText] {
         176  +
        /* StructureGenerator.kt:171 */
         177  +
        use std::ops::Deref;
         178  +
        self.flavor_text_entries.deref()
         179  +
        /* StructureGenerator.kt:166 */
         180  +
    }
         181  +
    /* StructureGenerator.kt:135 */
         182  +
}
  184    183   
/* ServerCodegenVisitor.kt:356 */
  185         -
impl DoNothingOutput {
  186         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`DoNothingOutput`](crate::output::DoNothingOutput).
         184  +
impl GetPokemonSpeciesOutput {
         185  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
  187    186   
    /* ServerBuilderGenerator.kt:295 */
  188         -
    pub fn builder() -> crate::output::do_nothing_output::Builder {
         187  +
    pub fn builder() -> crate::output::get_pokemon_species_output::Builder {
  189    188   
        /* ServerBuilderGenerator.kt:296 */
  190         -
        crate::output::do_nothing_output::Builder::default()
         189  +
        crate::output::get_pokemon_species_output::Builder::default()
  191    190   
        /* ServerBuilderGenerator.kt:295 */
  192    191   
    }
  193    192   
    /* ServerCodegenVisitor.kt:356 */
  194    193   
}
  195    194   
  196         -
/* StructureGenerator.kt:197 */
  197         -
#[allow(missing_docs)] // documentation missing in model
         195  +
/// /* StructureGenerator.kt:197 */Contents of the Pokémon storage.
  198    196   
/* RustType.kt:534 */
  199    197   
#[derive(
  200    198   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  201    199   
)]
  202         -
pub /* StructureGenerator.kt:201 */ struct GetServerStatisticsOutput {
  203         -
    /// /* StructureGenerator.kt:231 */The number of calls executed by the server.
  204         -
    pub calls_count: i64,
         200  +
pub /* StructureGenerator.kt:201 */ struct GetStorageOutput {
         201  +
    /// /* StructureGenerator.kt:231 */A list of Pokémon species.
         202  +
    pub collection: ::std::vec::Vec<::std::string::String>,
  205    203   
    /* StructureGenerator.kt:201 */
  206    204   
}
  207    205   
/* StructureGenerator.kt:135 */
  208         -
impl GetServerStatisticsOutput {
  209         -
    /// /* StructureGenerator.kt:231 */The number of calls executed by the server.
         206  +
impl GetStorageOutput {
         207  +
    /// /* StructureGenerator.kt:231 */A list of Pokémon species.
  210    208   
    /* StructureGenerator.kt:166 */
  211         -
    pub fn calls_count(&self) -> i64 {
  212         -
        /* StructureGenerator.kt:168 */
  213         -
        self.calls_count
         209  +
    pub fn collection(&self) -> &[::std::string::String] {
         210  +
        /* StructureGenerator.kt:171 */
         211  +
        use std::ops::Deref;
         212  +
        self.collection.deref()
  214    213   
        /* StructureGenerator.kt:166 */
  215    214   
    }
  216    215   
    /* StructureGenerator.kt:135 */
  217    216   
}
  218    217   
/* ServerCodegenVisitor.kt:356 */
  219         -
impl GetServerStatisticsOutput {
  220         -
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
         218  +
impl GetStorageOutput {
         219  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GetStorageOutput`](crate::output::GetStorageOutput).
  221    220   
    /* ServerBuilderGenerator.kt:295 */
  222         -
    pub fn builder() -> crate::output::get_server_statistics_output::Builder {
         221  +
    pub fn builder() -> crate::output::get_storage_output::Builder {
  223    222   
        /* ServerBuilderGenerator.kt:296 */
  224         -
        crate::output::get_server_statistics_output::Builder::default()
         223  +
        crate::output::get_storage_output::Builder::default()
  225    224   
        /* ServerBuilderGenerator.kt:295 */
  226    225   
    }
  227    226   
    /* ServerCodegenVisitor.kt:356 */
  228    227   
}
  229         -
/// /* ServerBuilderGenerator.kt:171 */See [`GetStorageOutput`](crate::output::GetStorageOutput).
  230         -
pub mod get_storage_output {
         228  +
/// /* ServerBuilderGenerator.kt:171 */See [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
         229  +
pub mod get_server_statistics_output {
  231    230   
  232    231   
    /* RustType.kt:534 */
  233    232   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  234    233   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
  235    234   
    /* RustType.kt:534 */
  236    235   
    #[non_exhaustive]
  237    236   
    /* ServerBuilderConstraintViolations.kt:75 */
  238    237   
    #[allow(clippy::enum_variant_names)]
  239    238   
    pub enum ConstraintViolation {
  240         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`collection` was not provided but it is required when building `GetStorageOutput`.
         239  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`calls_count` was not provided but it is required when building `GetServerStatisticsOutput`.
  241    240   
        /* ServerBuilderConstraintViolations.kt:144 */
  242         -
        MissingCollection,
         241  +
        MissingCallsCount,
  243    242   
        /* ServerBuilderConstraintViolations.kt:75 */
  244    243   
    }
  245    244   
    /* ServerBuilderConstraintViolations.kt:116 */
  246    245   
    impl ::std::fmt::Display for ConstraintViolation {
  247    246   
        /* ServerBuilderConstraintViolations.kt:117 */
  248    247   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  249    248   
            /* ServerBuilderConstraintViolations.kt:118 */
  250    249   
            match self {
  251         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingCollection => write!(f, "`collection` was not provided but it is required when building `GetStorageOutput`"),
         250  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingCallsCount => write!(f, "`calls_count` was not provided but it is required when building `GetServerStatisticsOutput`"),
  252    251   
            /* ServerBuilderConstraintViolations.kt:118 */}
  253    252   
            /* ServerBuilderConstraintViolations.kt:117 */
  254    253   
        }
  255    254   
        /* ServerBuilderConstraintViolations.kt:116 */
  256    255   
    }
  257    256   
    /* ServerBuilderConstraintViolations.kt:83 */
  258    257   
    impl ::std::error::Error for ConstraintViolation {}
  259    258   
    /* ServerBuilderGenerator.kt:446 */
  260         -
    impl ::std::convert::TryFrom<Builder> for crate::output::GetStorageOutput {
         259  +
    impl ::std::convert::TryFrom<Builder> for crate::output::GetServerStatisticsOutput {
  261    260   
        type Error = ConstraintViolation;
  262    261   
  263    262   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  264    263   
            builder.build()
  265    264   
        }
  266    265   
    }
  267         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GetStorageOutput`](crate::output::GetStorageOutput).
         266  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
  268    267   
    /* RustType.kt:534 */
  269    268   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  270    269   
    /* ServerBuilderGenerator.kt:211 */
  271    270   
    pub struct Builder {
  272    271   
        /* ServerBuilderGenerator.kt:308 */
  273         -
        pub(crate) collection: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         272  +
        pub(crate) calls_count: ::std::option::Option<i64>,
  274    273   
        /* ServerBuilderGenerator.kt:211 */
  275    274   
    }
  276    275   
    /* ServerBuilderGenerator.kt:215 */
  277    276   
    impl Builder {
  278         -
        /// /* ServerBuilderGenerator.kt:331 */A list of Pokémon species.
         277  +
        /// /* ServerBuilderGenerator.kt:331 */The number of calls executed by the server.
  279    278   
        /* ServerBuilderGenerator.kt:343 */
  280         -
        pub fn collection(mut self, input: ::std::vec::Vec<::std::string::String>) -> Self {
         279  +
        pub fn calls_count(mut self, input: i64) -> Self {
  281    280   
            /* ServerBuilderGenerator.kt:344 */
  282         -
            self.collection =
         281  +
            self.calls_count =
  283    282   
                /* ServerBuilderGenerator.kt:345 */Some(
  284    283   
                    /* ServerBuilderGenerator.kt:376 */input
  285    284   
                /* ServerBuilderGenerator.kt:345 */)
  286    285   
            /* ServerBuilderGenerator.kt:344 */;
  287    286   
            self
  288    287   
            /* ServerBuilderGenerator.kt:343 */
  289    288   
        }
  290         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GetStorageOutput`](crate::output::GetStorageOutput).
         289  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
  291    290   
        /// /* ServerBuilderGenerator.kt:260 */
  292         -
        /// The builder fails to construct a [`GetStorageOutput`](crate::output::GetStorageOutput) if a [`ConstraintViolation`] occurs.
         291  +
        /// The builder fails to construct a [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput) if a [`ConstraintViolation`] occurs.
  293    292   
        ///
  294    293   
        /* ServerBuilderGenerator.kt:271 */
  295         -
        pub fn build(self) -> Result<crate::output::GetStorageOutput, ConstraintViolation> {
  296         -
            self.build_enforcing_all_constraints()
  297         -
        }
  298         -
        /* ServerBuilderGenerator.kt:283 */
  299         -
        fn build_enforcing_all_constraints(
         294  +
        pub fn build(
  300    295   
            self,
  301         -
        ) -> Result<crate::output::GetStorageOutput, ConstraintViolation> {
  302         -
            /* ServerBuilderGenerator.kt:287 */
  303         -
            Ok(
  304         -
                /* ServerBuilderGenerator.kt:542 */
  305         -
                crate::output::GetStorageOutput {
  306         -
                    /* ServerBuilderGenerator.kt:546 */
  307         -
                    collection: self
  308         -
                        .collection
  309         -
                        /* ServerBuilderGenerator.kt:569 */
  310         -
                        .ok_or(ConstraintViolation::MissingCollection)?,
  311         -
                    /* ServerBuilderGenerator.kt:542 */
  312         -
                }, /* ServerBuilderGenerator.kt:287 */
  313         -
            )
  314         -
            /* ServerBuilderGenerator.kt:283 */
  315         -
        }
  316         -
        /* ServerBuilderGenerator.kt:215 */
  317         -
    }
  318         -
  319         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  320         -
}
  321         -
/// /* ServerBuilderGenerator.kt:171 */See [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
  322         -
pub mod get_pokemon_species_output {
  323         -
  324         -
    /* RustType.kt:534 */
  325         -
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  326         -
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
  327         -
    /* RustType.kt:534 */
  328         -
    #[non_exhaustive]
  329         -
    /* ServerBuilderConstraintViolations.kt:75 */
  330         -
    #[allow(clippy::enum_variant_names)]
  331         -
    pub enum ConstraintViolation {
  332         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`name` was not provided but it is required when building `GetPokemonSpeciesOutput`.
  333         -
        /* ServerBuilderConstraintViolations.kt:144 */
  334         -
        MissingName,
  335         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`flavor_text_entries` was not provided but it is required when building `GetPokemonSpeciesOutput`.
  336         -
        /* ServerBuilderConstraintViolations.kt:144 */
  337         -
        MissingFlavorTextEntries,
  338         -
        /* ServerBuilderConstraintViolations.kt:75 */
  339         -
    }
  340         -
    /* ServerBuilderConstraintViolations.kt:116 */
  341         -
    impl ::std::fmt::Display for ConstraintViolation {
  342         -
        /* ServerBuilderConstraintViolations.kt:117 */
  343         -
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  344         -
            /* ServerBuilderConstraintViolations.kt:118 */
  345         -
            match self {
  346         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingName => write!(f, "`name` was not provided but it is required when building `GetPokemonSpeciesOutput`"),
  347         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFlavorTextEntries => write!(f, "`flavor_text_entries` was not provided but it is required when building `GetPokemonSpeciesOutput`"),
  348         -
            /* ServerBuilderConstraintViolations.kt:118 */}
  349         -
            /* ServerBuilderConstraintViolations.kt:117 */
  350         -
        }
  351         -
        /* ServerBuilderConstraintViolations.kt:116 */
  352         -
    }
  353         -
    /* ServerBuilderConstraintViolations.kt:83 */
  354         -
    impl ::std::error::Error for ConstraintViolation {}
  355         -
    /* ServerBuilderGenerator.kt:446 */
  356         -
    impl ::std::convert::TryFrom<Builder> for crate::output::GetPokemonSpeciesOutput {
  357         -
        type Error = ConstraintViolation;
  358         -
  359         -
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  360         -
            builder.build()
  361         -
        }
  362         -
    }
  363         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
  364         -
    /* RustType.kt:534 */
  365         -
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  366         -
    /* ServerBuilderGenerator.kt:211 */
  367         -
    pub struct Builder {
  368         -
        /* ServerBuilderGenerator.kt:308 */
  369         -
        pub(crate) name: ::std::option::Option<::std::string::String>,
  370         -
        /* ServerBuilderGenerator.kt:308 */
  371         -
        pub(crate) flavor_text_entries:
  372         -
            ::std::option::Option<::std::vec::Vec<crate::model::FlavorText>>,
  373         -
        /* ServerBuilderGenerator.kt:211 */
  374         -
    }
  375         -
    /* ServerBuilderGenerator.kt:215 */
  376         -
    impl Builder {
  377         -
        /// /* ServerBuilderGenerator.kt:331 */The name for this resource.
  378         -
        /* ServerBuilderGenerator.kt:343 */
  379         -
        pub fn name(mut self, input: ::std::string::String) -> Self {
  380         -
            /* ServerBuilderGenerator.kt:344 */
  381         -
            self.name =
  382         -
                /* ServerBuilderGenerator.kt:345 */Some(
  383         -
                    /* ServerBuilderGenerator.kt:376 */input
  384         -
                /* ServerBuilderGenerator.kt:345 */)
  385         -
            /* ServerBuilderGenerator.kt:344 */;
  386         -
            self
  387         -
            /* ServerBuilderGenerator.kt:343 */
  388         -
        }
  389         -
        /// /* ServerBuilderGenerator.kt:331 */A list of flavor text entries for this Pokémon species.
  390         -
        /* ServerBuilderGenerator.kt:343 */
  391         -
        pub fn flavor_text_entries(
  392         -
            mut self,
  393         -
            input: ::std::vec::Vec<crate::model::FlavorText>,
  394         -
        ) -> Self {
  395         -
            /* ServerBuilderGenerator.kt:344 */
  396         -
            self.flavor_text_entries =
  397         -
                /* ServerBuilderGenerator.kt:345 */Some(
  398         -
                    /* ServerBuilderGenerator.kt:376 */input
  399         -
                /* ServerBuilderGenerator.kt:345 */)
  400         -
            /* ServerBuilderGenerator.kt:344 */;
  401         -
            self
  402         -
            /* ServerBuilderGenerator.kt:343 */
  403         -
        }
  404         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
  405         -
        /// /* ServerBuilderGenerator.kt:260 */
  406         -
        /// The builder fails to construct a [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput) if a [`ConstraintViolation`] occurs.
  407         -
        ///
  408         -
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
  409         -
        /* ServerBuilderGenerator.kt:271 */
  410         -
        pub fn build(self) -> Result<crate::output::GetPokemonSpeciesOutput, ConstraintViolation> {
         296  +
        ) -> Result<crate::output::GetServerStatisticsOutput, ConstraintViolation> {
  411    297   
            self.build_enforcing_all_constraints()
  412    298   
        }
  413    299   
        /* ServerBuilderGenerator.kt:283 */
  414    300   
        fn build_enforcing_all_constraints(
  415    301   
            self,
  416         -
        ) -> Result<crate::output::GetPokemonSpeciesOutput, ConstraintViolation> {
         302  +
        ) -> Result<crate::output::GetServerStatisticsOutput, ConstraintViolation> {
  417    303   
            /* ServerBuilderGenerator.kt:287 */
  418    304   
            Ok(
  419    305   
                /* ServerBuilderGenerator.kt:542 */
  420         -
                crate::output::GetPokemonSpeciesOutput {
  421         -
                    /* ServerBuilderGenerator.kt:546 */
  422         -
                    name: self
  423         -
                        .name
  424         -
                        /* ServerBuilderGenerator.kt:569 */
  425         -
                        .ok_or(ConstraintViolation::MissingName)?,
  426         -
                    /* ServerBuilderGenerator.kt:546 */
  427         -
                    flavor_text_entries: self
  428         -
                        .flavor_text_entries
  429         -
                        /* ServerBuilderGenerator.kt:569 */
  430         -
                        .ok_or(ConstraintViolation::MissingFlavorTextEntries)?,
  431         -
                    /* ServerBuilderGenerator.kt:542 */
  432         -
                }, /* ServerBuilderGenerator.kt:287 */
  433         -
            )
  434         -
            /* ServerBuilderGenerator.kt:283 */
  435         -
        }
  436         -
        /* ServerBuilderGenerator.kt:215 */
  437         -
    }
  438         -
  439         -
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  440         -
}
  441         -
/// /* ServerBuilderGenerator.kt:171 */See [`StreamPokemonRadioOutput`](crate::output::StreamPokemonRadioOutput).
  442         -
pub mod stream_pokemon_radio_output {
  443         -
  444         -
    /* ServerBuilderGenerator.kt:461 */
  445         -
    impl ::std::convert::From<Builder> for crate::output::StreamPokemonRadioOutput {
  446         -
        fn from(builder: Builder) -> Self {
  447         -
            builder.build()
  448         -
        }
  449         -
    }
  450         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamPokemonRadioOutput`](crate::output::StreamPokemonRadioOutput).
  451         -
    /* RustType.kt:534 */
  452         -
    #[derive(::std::default::Default, ::std::fmt::Debug)]
  453         -
    /* ServerBuilderGenerator.kt:211 */
  454         -
    pub struct Builder {
  455         -
        /* ServerBuilderGenerator.kt:308 */
  456         -
        pub(crate) data: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
  457         -
        /* ServerBuilderGenerator.kt:211 */
  458         -
    }
  459         -
    /* ServerBuilderGenerator.kt:215 */
  460         -
    impl Builder {
  461         -
        /* ServerBuilderGenerator.kt:331 */
  462         -
        #[allow(missing_docs)] // documentation missing in model
  463         -
                               /* ServerBuilderGenerator.kt:343 */
  464         -
        pub fn data(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
  465         -
            /* ServerBuilderGenerator.kt:344 */
  466         -
            self.data =
  467         -
                /* ServerBuilderGenerator.kt:345 */Some(
  468         -
                    /* ServerBuilderGenerator.kt:376 */input
  469         -
                /* ServerBuilderGenerator.kt:345 */)
  470         -
            /* ServerBuilderGenerator.kt:344 */;
  471         -
            self
  472         -
            /* ServerBuilderGenerator.kt:343 */
  473         -
        }
  474         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamPokemonRadioOutput`](crate::output::StreamPokemonRadioOutput).
  475         -
        /* ServerBuilderGenerator.kt:271 */
  476         -
        pub fn build(self) -> crate::output::StreamPokemonRadioOutput {
  477         -
            self.build_enforcing_all_constraints()
  478         -
        }
  479         -
        /* ServerBuilderGenerator.kt:283 */
  480         -
        fn build_enforcing_all_constraints(self) -> crate::output::StreamPokemonRadioOutput {
  481         -
            /* ServerBuilderGenerator.kt:542 */
  482         -
            crate::output::StreamPokemonRadioOutput {
  483         -
                /* ServerBuilderGenerator.kt:546 */
  484         -
                data: self
  485         -
                    .data
  486         -
                    /* ServerBuilderGeneratorCommon.kt:95 */
  487         -
                    .unwrap_or_default(),
  488         -
                /* ServerBuilderGenerator.kt:542 */
  489         -
            }
         306  +
                crate::output::GetServerStatisticsOutput {
         307  +
                    /* ServerBuilderGenerator.kt:546 */
         308  +
                    calls_count: self
         309  +
                        .calls_count
         310  +
                        /* ServerBuilderGenerator.kt:569 */
         311  +
                        .ok_or(ConstraintViolation::MissingCallsCount)?,
         312  +
                    /* ServerBuilderGenerator.kt:542 */
         313  +
                }, /* ServerBuilderGenerator.kt:287 */
         314  +
            )
  490    315   
            /* ServerBuilderGenerator.kt:283 */
  491    316   
        }
  492    317   
        /* ServerBuilderGenerator.kt:215 */
  493    318   
    }
  494    319   
  495    320   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  496    321   
}
  497         -
/// /* ServerBuilderGenerator.kt:171 */See [`CheckHealthOutput`](crate::output::CheckHealthOutput).
  498         -
pub mod check_health_output {
         322  +
/// /* ServerBuilderGenerator.kt:171 */See [`DoNothingOutput`](crate::output::DoNothingOutput).
         323  +
pub mod do_nothing_output {
  499    324   
  500    325   
    /* ServerBuilderGenerator.kt:461 */
  501         -
    impl ::std::convert::From<Builder> for crate::output::CheckHealthOutput {
         326  +
    impl ::std::convert::From<Builder> for crate::output::DoNothingOutput {
  502    327   
        fn from(builder: Builder) -> Self {
  503    328   
            builder.build()
  504    329   
        }
  505    330   
    }
  506         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`CheckHealthOutput`](crate::output::CheckHealthOutput).
         331  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DoNothingOutput`](crate::output::DoNothingOutput).
  507    332   
    /* RustType.kt:534 */
  508    333   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  509    334   
    /* ServerBuilderGenerator.kt:211 */
  510    335   
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
  511    336   
    /* ServerBuilderGenerator.kt:215 */
  512    337   
    impl Builder {
  513         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`CheckHealthOutput`](crate::output::CheckHealthOutput).
         338  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DoNothingOutput`](crate::output::DoNothingOutput).
  514    339   
        /* ServerBuilderGenerator.kt:271 */
  515         -
        pub fn build(self) -> crate::output::CheckHealthOutput {
         340  +
        pub fn build(self) -> crate::output::DoNothingOutput {
  516    341   
            self.build_enforcing_all_constraints()
  517    342   
        }
  518    343   
        /* ServerBuilderGenerator.kt:283 */
  519         -
        fn build_enforcing_all_constraints(self) -> crate::output::CheckHealthOutput {
         344  +
        fn build_enforcing_all_constraints(self) -> crate::output::DoNothingOutput {
  520    345   
            /* ServerBuilderGenerator.kt:542 */
  521         -
            crate::output::CheckHealthOutput {
         346  +
            crate::output::DoNothingOutput {
  522    347   
            /* ServerBuilderGenerator.kt:542 */}
  523    348   
            /* ServerBuilderGenerator.kt:283 */
  524    349   
        }
  525    350   
        /* ServerBuilderGenerator.kt:215 */
  526    351   
    }
  527    352   
  528    353   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  529    354   
}
  530    355   
/// /* ServerBuilderGenerator.kt:171 */See [`CapturePokemonOutput`](crate::output::CapturePokemonOutput).
  531    356   
pub mod capture_pokemon_output {
@@ -604,429 +760,759 @@
  624    449   
                    /* ServerBuilderGenerator.kt:542 */
  625    450   
                }, /* ServerBuilderGenerator.kt:287 */
  626    451   
            )
  627    452   
            /* ServerBuilderGenerator.kt:283 */
  628    453   
        }
  629    454   
        /* ServerBuilderGenerator.kt:215 */
  630    455   
    }
  631    456   
  632    457   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  633    458   
}
  634         -
/// /* ServerBuilderGenerator.kt:171 */See [`DoNothingOutput`](crate::output::DoNothingOutput).
  635         -
pub mod do_nothing_output {
         459  +
/// /* ServerBuilderGenerator.kt:171 */See [`CheckHealthOutput`](crate::output::CheckHealthOutput).
         460  +
pub mod check_health_output {
  636    461   
  637    462   
    /* ServerBuilderGenerator.kt:461 */
  638         -
    impl ::std::convert::From<Builder> for crate::output::DoNothingOutput {
         463  +
    impl ::std::convert::From<Builder> for crate::output::CheckHealthOutput {
  639    464   
        fn from(builder: Builder) -> Self {
  640    465   
            builder.build()
  641    466   
        }
  642    467   
    }
  643         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`DoNothingOutput`](crate::output::DoNothingOutput).
         468  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`CheckHealthOutput`](crate::output::CheckHealthOutput).
  644    469   
    /* RustType.kt:534 */
  645    470   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  646    471   
    /* ServerBuilderGenerator.kt:211 */
  647    472   
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
  648    473   
    /* ServerBuilderGenerator.kt:215 */
  649    474   
    impl Builder {
  650         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`DoNothingOutput`](crate::output::DoNothingOutput).
         475  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`CheckHealthOutput`](crate::output::CheckHealthOutput).
  651    476   
        /* ServerBuilderGenerator.kt:271 */
  652         -
        pub fn build(self) -> crate::output::DoNothingOutput {
         477  +
        pub fn build(self) -> crate::output::CheckHealthOutput {
  653    478   
            self.build_enforcing_all_constraints()
  654    479   
        }
  655    480   
        /* ServerBuilderGenerator.kt:283 */
  656         -
        fn build_enforcing_all_constraints(self) -> crate::output::DoNothingOutput {
         481  +
        fn build_enforcing_all_constraints(self) -> crate::output::CheckHealthOutput {
  657    482   
            /* ServerBuilderGenerator.kt:542 */
  658         -
            crate::output::DoNothingOutput {
         483  +
            crate::output::CheckHealthOutput {
  659    484   
            /* ServerBuilderGenerator.kt:542 */}
  660    485   
            /* ServerBuilderGenerator.kt:283 */
  661    486   
        }
  662    487   
        /* ServerBuilderGenerator.kt:215 */
  663    488   
    }
  664    489   
  665    490   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  666    491   
}
  667         -
/// /* ServerBuilderGenerator.kt:171 */See [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
  668         -
pub mod get_server_statistics_output {
         492  +
/// /* ServerBuilderGenerator.kt:171 */See [`StreamPokemonRadioOutput`](crate::output::StreamPokemonRadioOutput).
         493  +
pub mod stream_pokemon_radio_output {
         494  +
         495  +
    /* ServerBuilderGenerator.kt:461 */
         496  +
    impl ::std::convert::From<Builder> for crate::output::StreamPokemonRadioOutput {
         497  +
        fn from(builder: Builder) -> Self {
         498  +
            builder.build()
         499  +
        }
         500  +
    }
         501  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StreamPokemonRadioOutput`](crate::output::StreamPokemonRadioOutput).
         502  +
    /* RustType.kt:534 */
         503  +
    #[derive(::std::default::Default, ::std::fmt::Debug)]
         504  +
    /* ServerBuilderGenerator.kt:211 */
         505  +
    pub struct Builder {
         506  +
        /* ServerBuilderGenerator.kt:308 */
         507  +
        pub(crate) data: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
         508  +
        /* ServerBuilderGenerator.kt:211 */
         509  +
    }
         510  +
    /* ServerBuilderGenerator.kt:215 */
         511  +
    impl Builder {
         512  +
        /* ServerBuilderGenerator.kt:331 */
         513  +
        #[allow(missing_docs)] // documentation missing in model
         514  +
                               /* ServerBuilderGenerator.kt:343 */
         515  +
        pub fn data(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
         516  +
            /* ServerBuilderGenerator.kt:344 */
         517  +
            self.data =
         518  +
                /* ServerBuilderGenerator.kt:345 */Some(
         519  +
                    /* ServerBuilderGenerator.kt:376 */input
         520  +
                /* ServerBuilderGenerator.kt:345 */)
         521  +
            /* ServerBuilderGenerator.kt:344 */;
         522  +
            self
         523  +
            /* ServerBuilderGenerator.kt:343 */
         524  +
        }
         525  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StreamPokemonRadioOutput`](crate::output::StreamPokemonRadioOutput).
         526  +
        /* ServerBuilderGenerator.kt:271 */
         527  +
        pub fn build(self) -> crate::output::StreamPokemonRadioOutput {
         528  +
            self.build_enforcing_all_constraints()
         529  +
        }
         530  +
        /* ServerBuilderGenerator.kt:283 */
         531  +
        fn build_enforcing_all_constraints(self) -> crate::output::StreamPokemonRadioOutput {
         532  +
            /* ServerBuilderGenerator.kt:542 */
         533  +
            crate::output::StreamPokemonRadioOutput {
         534  +
                /* ServerBuilderGenerator.kt:546 */
         535  +
                data: self
         536  +
                    .data
         537  +
                    /* ServerBuilderGeneratorCommon.kt:95 */
         538  +
                    .unwrap_or_default(),
         539  +
                /* ServerBuilderGenerator.kt:542 */
         540  +
            }
         541  +
            /* ServerBuilderGenerator.kt:283 */
         542  +
        }
         543  +
        /* ServerBuilderGenerator.kt:215 */
         544  +
    }
         545  +
         546  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
         547  +
}
         548  +
/// /* ServerBuilderGenerator.kt:171 */See [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
         549  +
pub mod get_pokemon_species_output {
  669    550   
  670    551   
    /* RustType.kt:534 */
  671    552   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  672    553   
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
  673    554   
    /* RustType.kt:534 */
  674    555   
    #[non_exhaustive]
  675    556   
    /* ServerBuilderConstraintViolations.kt:75 */
  676    557   
    #[allow(clippy::enum_variant_names)]
  677    558   
    pub enum ConstraintViolation {
  678         -
        /// /* ServerBuilderConstraintViolations.kt:137 */`calls_count` was not provided but it is required when building `GetServerStatisticsOutput`.
         559  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`name` was not provided but it is required when building `GetPokemonSpeciesOutput`.
  679    560   
        /* ServerBuilderConstraintViolations.kt:144 */
  680         -
        MissingCallsCount,
         561  +
        MissingName,
         562  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`flavor_text_entries` was not provided but it is required when building `GetPokemonSpeciesOutput`.
         563  +
        /* ServerBuilderConstraintViolations.kt:144 */
         564  +
        MissingFlavorTextEntries,
  681    565   
        /* ServerBuilderConstraintViolations.kt:75 */
  682    566   
    }
  683    567   
    /* ServerBuilderConstraintViolations.kt:116 */
  684    568   
    impl ::std::fmt::Display for ConstraintViolation {
  685    569   
        /* ServerBuilderConstraintViolations.kt:117 */
  686    570   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  687    571   
            /* ServerBuilderConstraintViolations.kt:118 */
  688    572   
            match self {
  689         -
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingCallsCount => write!(f, "`calls_count` was not provided but it is required when building `GetServerStatisticsOutput`"),
         573  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingName => write!(f, "`name` was not provided but it is required when building `GetPokemonSpeciesOutput`"),
         574  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingFlavorTextEntries => write!(f, "`flavor_text_entries` was not provided but it is required when building `GetPokemonSpeciesOutput`"),
  690    575   
            /* ServerBuilderConstraintViolations.kt:118 */}
  691    576   
            /* ServerBuilderConstraintViolations.kt:117 */
  692    577   
        }
  693    578   
        /* ServerBuilderConstraintViolations.kt:116 */
  694    579   
    }
  695    580   
    /* ServerBuilderConstraintViolations.kt:83 */
  696    581   
    impl ::std::error::Error for ConstraintViolation {}
  697    582   
    /* ServerBuilderGenerator.kt:446 */
  698         -
    impl ::std::convert::TryFrom<Builder> for crate::output::GetServerStatisticsOutput {
         583  +
    impl ::std::convert::TryFrom<Builder> for crate::output::GetPokemonSpeciesOutput {
  699    584   
        type Error = ConstraintViolation;
  700    585   
  701    586   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  702    587   
            builder.build()
  703    588   
        }
  704    589   
    }
  705         -
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
         590  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
  706    591   
    /* RustType.kt:534 */
  707    592   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  708    593   
    /* ServerBuilderGenerator.kt:211 */
  709    594   
    pub struct Builder {
  710    595   
        /* ServerBuilderGenerator.kt:308 */
  711         -
        pub(crate) calls_count: ::std::option::Option<i64>,
         596  +
        pub(crate) name: ::std::option::Option<::std::string::String>,
         597  +
        /* ServerBuilderGenerator.kt:308 */
         598  +
        pub(crate) flavor_text_entries:
         599  +
            ::std::option::Option<::std::vec::Vec<crate::model::FlavorText>>,
  712    600   
        /* ServerBuilderGenerator.kt:211 */
  713    601   
    }
  714    602   
    /* ServerBuilderGenerator.kt:215 */
  715    603   
    impl Builder {
  716         -
        /// /* ServerBuilderGenerator.kt:331 */The number of calls executed by the server.
         604  +
        /// /* ServerBuilderGenerator.kt:331 */The name for this resource.
  717    605   
        /* ServerBuilderGenerator.kt:343 */
  718         -
        pub fn calls_count(mut self, input: i64) -> Self {
         606  +
        pub fn name(mut self, input: ::std::string::String) -> Self {
  719    607   
            /* ServerBuilderGenerator.kt:344 */
  720         -
            self.calls_count =
         608  +
            self.name =
  721    609   
                /* ServerBuilderGenerator.kt:345 */Some(
  722    610   
                    /* ServerBuilderGenerator.kt:376 */input
  723    611   
                /* ServerBuilderGenerator.kt:345 */)
  724    612   
            /* ServerBuilderGenerator.kt:344 */;
  725    613   
            self
  726    614   
            /* ServerBuilderGenerator.kt:343 */
  727    615   
        }
  728         -
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
         616  +
        /// /* ServerBuilderGenerator.kt:331 */A list of flavor text entries for this Pokémon species.
         617  +
        /* ServerBuilderGenerator.kt:343 */
         618  +
        pub fn flavor_text_entries(
         619  +
            mut self,
         620  +
            input: ::std::vec::Vec<crate::model::FlavorText>,
         621  +
        ) -> Self {
         622  +
            /* ServerBuilderGenerator.kt:344 */
         623  +
            self.flavor_text_entries =
         624  +
                /* ServerBuilderGenerator.kt:345 */Some(
         625  +
                    /* ServerBuilderGenerator.kt:376 */input
         626  +
                /* ServerBuilderGenerator.kt:345 */)
         627  +
            /* ServerBuilderGenerator.kt:344 */;
         628  +
            self
         629  +
            /* ServerBuilderGenerator.kt:343 */
         630  +
        }
         631  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
  729    632   
        /// /* ServerBuilderGenerator.kt:260 */
  730         -
        /// The builder fails to construct a [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput) if a [`ConstraintViolation`] occurs.
         633  +
        /// The builder fails to construct a [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput) if a [`ConstraintViolation`] occurs.
  731    634   
        ///
         635  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
  732    636   
        /* ServerBuilderGenerator.kt:271 */
  733         -
        pub fn build(
         637  +
        pub fn build(self) -> Result<crate::output::GetPokemonSpeciesOutput, ConstraintViolation> {
         638  +
            self.build_enforcing_all_constraints()
         639  +
        }
         640  +
        /* ServerBuilderGenerator.kt:283 */
         641  +
        fn build_enforcing_all_constraints(
  734    642   
            self,
  735         -
        ) -> Result<crate::output::GetServerStatisticsOutput, ConstraintViolation> {
         643  +
        ) -> Result<crate::output::GetPokemonSpeciesOutput, ConstraintViolation> {
         644  +
            /* ServerBuilderGenerator.kt:287 */
         645  +
            Ok(
         646  +
                /* ServerBuilderGenerator.kt:542 */
         647  +
                crate::output::GetPokemonSpeciesOutput {
         648  +
                    /* ServerBuilderGenerator.kt:546 */
         649  +
                    name: self
         650  +
                        .name
         651  +
                        /* ServerBuilderGenerator.kt:569 */
         652  +
                        .ok_or(ConstraintViolation::MissingName)?,
         653  +
                    /* ServerBuilderGenerator.kt:546 */
         654  +
                    flavor_text_entries: self
         655  +
                        .flavor_text_entries
         656  +
                        /* ServerBuilderGenerator.kt:569 */
         657  +
                        .ok_or(ConstraintViolation::MissingFlavorTextEntries)?,
         658  +
                    /* ServerBuilderGenerator.kt:542 */
         659  +
                }, /* ServerBuilderGenerator.kt:287 */
         660  +
            )
         661  +
            /* ServerBuilderGenerator.kt:283 */
         662  +
        }
         663  +
        /* ServerBuilderGenerator.kt:215 */
         664  +
    }
         665  +
         666  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
         667  +
}
         668  +
/// /* ServerBuilderGenerator.kt:171 */See [`GetStorageOutput`](crate::output::GetStorageOutput).
         669  +
pub mod get_storage_output {
         670  +
         671  +
    /* RustType.kt:534 */
         672  +
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
         673  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
         674  +
    /* RustType.kt:534 */
         675  +
    #[non_exhaustive]
         676  +
    /* ServerBuilderConstraintViolations.kt:75 */
         677  +
    #[allow(clippy::enum_variant_names)]
         678  +
    pub enum ConstraintViolation {
         679  +
        /// /* ServerBuilderConstraintViolations.kt:137 */`collection` was not provided but it is required when building `GetStorageOutput`.
         680  +
        /* ServerBuilderConstraintViolations.kt:144 */
         681  +
        MissingCollection,
         682  +
        /* ServerBuilderConstraintViolations.kt:75 */
         683  +
    }
         684  +
    /* ServerBuilderConstraintViolations.kt:116 */
         685  +
    impl ::std::fmt::Display for ConstraintViolation {
         686  +
        /* ServerBuilderConstraintViolations.kt:117 */
         687  +
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
         688  +
            /* ServerBuilderConstraintViolations.kt:118 */
         689  +
            match self {
         690  +
                /* ServerBuilderConstraintViolations.kt:126 */ConstraintViolation::MissingCollection => write!(f, "`collection` was not provided but it is required when building `GetStorageOutput`"),
         691  +
            /* ServerBuilderConstraintViolations.kt:118 */}
         692  +
            /* ServerBuilderConstraintViolations.kt:117 */
         693  +
        }
         694  +
        /* ServerBuilderConstraintViolations.kt:116 */
         695  +
    }
         696  +
    /* ServerBuilderConstraintViolations.kt:83 */
         697  +
    impl ::std::error::Error for ConstraintViolation {}
         698  +
    /* ServerBuilderGenerator.kt:446 */
         699  +
    impl ::std::convert::TryFrom<Builder> for crate::output::GetStorageOutput {
         700  +
        type Error = ConstraintViolation;
         701  +
         702  +
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
         703  +
            builder.build()
         704  +
        }
         705  +
    }
         706  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GetStorageOutput`](crate::output::GetStorageOutput).
         707  +
    /* RustType.kt:534 */
         708  +
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
         709  +
    /* ServerBuilderGenerator.kt:211 */
         710  +
    pub struct Builder {
         711  +
        /* ServerBuilderGenerator.kt:308 */
         712  +
        pub(crate) collection: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         713  +
        /* ServerBuilderGenerator.kt:211 */
         714  +
    }
         715  +
    /* ServerBuilderGenerator.kt:215 */
         716  +
    impl Builder {
         717  +
        /// /* ServerBuilderGenerator.kt:331 */A list of Pokémon species.
         718  +
        /* ServerBuilderGenerator.kt:343 */
         719  +
        pub fn collection(mut self, input: ::std::vec::Vec<::std::string::String>) -> Self {
         720  +
            /* ServerBuilderGenerator.kt:344 */
         721  +
            self.collection =
         722  +
                /* ServerBuilderGenerator.kt:345 */Some(
         723  +
                    /* ServerBuilderGenerator.kt:376 */input
         724  +
                /* ServerBuilderGenerator.kt:345 */)
         725  +
            /* ServerBuilderGenerator.kt:344 */;
         726  +
            self
         727  +
            /* ServerBuilderGenerator.kt:343 */
         728  +
        }
         729  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GetStorageOutput`](crate::output::GetStorageOutput).
         730  +
        /// /* ServerBuilderGenerator.kt:260 */
         731  +
        /// The builder fails to construct a [`GetStorageOutput`](crate::output::GetStorageOutput) if a [`ConstraintViolation`] occurs.
         732  +
        ///
         733  +
        /* ServerBuilderGenerator.kt:271 */
         734  +
        pub fn build(self) -> Result<crate::output::GetStorageOutput, ConstraintViolation> {
  736    735   
            self.build_enforcing_all_constraints()
  737    736   
        }
  738    737   
        /* ServerBuilderGenerator.kt:283 */
  739    738   
        fn build_enforcing_all_constraints(
  740    739   
            self,
  741         -
        ) -> Result<crate::output::GetServerStatisticsOutput, ConstraintViolation> {
         740  +
        ) -> Result<crate::output::GetStorageOutput, ConstraintViolation> {
  742    741   
            /* ServerBuilderGenerator.kt:287 */
  743    742   
            Ok(
  744    743   
                /* ServerBuilderGenerator.kt:542 */
  745         -
                crate::output::GetServerStatisticsOutput {
         744  +
                crate::output::GetStorageOutput {
  746    745   
                    /* ServerBuilderGenerator.kt:546 */
  747         -
                    calls_count: self
  748         -
                        .calls_count
         746  +
                    collection: self
         747  +
                        .collection
  749    748   
                        /* ServerBuilderGenerator.kt:569 */
  750         -
                        .ok_or(ConstraintViolation::MissingCallsCount)?,
         749  +
                        .ok_or(ConstraintViolation::MissingCollection)?,
  751    750   
                    /* ServerBuilderGenerator.kt:542 */
  752    751   
                }, /* ServerBuilderGenerator.kt:287 */
  753    752   
            )
  754    753   
            /* ServerBuilderGenerator.kt:283 */
  755    754   
        }
  756    755   
        /* ServerBuilderGenerator.kt:215 */
  757    756   
    }
  758    757   
  759    758   
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  760    759   
}