Server Test

Server Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

@@ -1,1 +31,32 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
    2      3   
static CONTENT_TYPE_OPERATIONWITHNESTEDSTRUCTURE: std::sync::LazyLock<::mime::Mime> =
    3      4   
    std::sync::LazyLock::new(|| {
    4      5   
        "application/x-amz-json-1.0"
    5      6   
            .parse::<::mime::Mime>()
    6      7   
            .expect("BUG: MIME parsing failed, content_type is not valid")
    7      8   
    });
    8      9   
::pin_project_lite::pin_project! {
    9     10   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
   10     11   
    /// [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput) using modelled bindings.
   11     12   
    pub struct OperationWithNestedStructureInputFuture {
@@ -41,42 +136,142 @@
   61     62   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
   62     63   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   63     64   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
   64     65   
            },
   65     66   
        );
   66     67   
        OperationWithNestedStructureInputFuture {
   67     68   
            inner: Box::pin(fut),
   68     69   
        }
   69     70   
    }
   70     71   
}
          72  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
   71     73   
impl
   72     74   
    ::aws_smithy_http_server::response::IntoResponse<
   73     75   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
   74     76   
    > for crate::output::OperationWithNestedStructureOutput
   75     77   
{
   76     78   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
   77     79   
        match crate::protocol_serde::shape_operation_with_nested_structure::ser_operation_with_nested_structure_http_response(self) {
   78     80   
                        Ok(response) => response,
   79     81   
                        Err(e) => {
   80     82   
                            ::tracing::error!(error = %e, "failed to serialize response");
   81     83   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
   82     84   
                        }
   83     85   
                    }
   84     86   
    }
   85     87   
}
          88  +
/* ServerHttpBoundProtocolGenerator.kt:350 */
   86     89   
impl
   87     90   
    ::aws_smithy_http_server::response::IntoResponse<
   88     91   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
   89     92   
    > for crate::error::OperationWithNestedStructureError
   90     93   
{
   91     94   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
   92     95   
        match crate::protocol_serde::shape_operation_with_nested_structure::ser_operation_with_nested_structure_http_error(&self) {
   93     96   
            Ok(mut response) => {
   94     97   
                response.extensions_mut().insert(::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()));
   95     98   
                response
   96     99   
            },
   97    100   
            Err(e) => {
   98    101   
                ::tracing::error!(error = %e, "failed to serialize response");
   99    102   
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  100    103   
            }
  101    104   
        }
  102    105   
    }
  103    106   
}
  104    107   
         108  +
/* RustType.kt:516 */
  105    109   
#[allow(unreachable_code, unused_variables)]
         110  +
/* RustType.kt:516 */
  106    111   
#[cfg(test)]
         112  +
/* ProtocolTestGenerator.kt:98 */
  107    113   
mod operation_with_nested_structure_test {
  108    114   
  109    115   
    /// Server populates nested default values when missing in request body.
  110    116   
    /// Test ID: AwsJson10ServerPopulatesNestedDefaultsWhenMissingInRequestBody
  111    117   
    #[::tokio::test]
  112    118   
    #[::tracing_test::traced_test]
  113    119   
    #[should_panic]
  114    120   
    async fn aws_json10_server_populates_nested_defaults_when_missing_in_request_body_request() {
  115    121   
        #[allow(unused_mut)]
  116    122   
                    let mut http_request = http::Request::builder()
@@ -288,294 +349,358 @@
  308    314   
            http_response.headers(),
  309    315   
            expected_headers,
  310    316   
        ));
  311    317   
        let body = ::hyper::body::to_bytes(http_response.into_body())
  312    318   
            .await
  313    319   
            .expect("unable to extract body to bytes");
  314    320   
        ::aws_smithy_protocol_test::assert_ok(
  315    321   
        ::aws_smithy_protocol_test::validate_body(&body, "{\n    \"dialog\": {\n        \"language\": \"en\",\n        \"greeting\": \"hi\"\n    },\n    \"dialogList\": [\n        {\n            \"greeting\": \"hi\"\n        },\n        {\n            \"greeting\": \"hi\",\n            \"farewell\": {\n                \"phrase\": \"bye\"\n            }\n        },\n        {\n            \"language\": \"it\",\n            \"greeting\": \"ciao\",\n            \"farewell\": {\n                \"phrase\": \"arrivederci\"\n            }\n        }\n    ],\n    \"dialogMap\": {\n        \"emptyDialog\": {\n            \"greeting\": \"hi\"\n        },\n        \"partialEmptyDialog\": {\n            \"language\": \"en\",\n            \"greeting\": \"hi\",\n            \"farewell\": {\n                \"phrase\": \"bye\"\n            }\n        },\n        \"nonEmptyDialog\": {\n            \"greeting\": \"konnichiwa\",\n            \"farewell\": {\n                \"phrase\": \"sayonara\"\n            }\n        }\n    }\n}", ::aws_smithy_protocol_test::MediaType::from("application/json"))
  316    322   
        );
  317    323   
    }
         324  +
         325  +
    /* ProtocolTestGenerator.kt:98 */
  318    326   
}
  319    327   
         328  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
  320    329   
static CONTENT_TYPE_OPERATIONWITHREQUIREDMEMBERS: std::sync::LazyLock<::mime::Mime> =
  321    330   
    std::sync::LazyLock::new(|| {
  322    331   
        "application/x-amz-json-1.0"
  323    332   
            .parse::<::mime::Mime>()
  324    333   
            .expect("BUG: MIME parsing failed, content_type is not valid")
  325    334   
    });
  326    335   
::pin_project_lite::pin_project! {
  327    336   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  328    337   
    /// [`OperationWithRequiredMembersInput`](crate::input::OperationWithRequiredMembersInput) using modelled bindings.
  329    338   
    pub struct OperationWithRequiredMembersInputFuture {
@@ -359,368 +434,445 @@
  379    388   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  380    389   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  381    390   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  382    391   
            },
  383    392   
        );
  384    393   
        OperationWithRequiredMembersInputFuture {
  385    394   
            inner: Box::pin(fut),
  386    395   
        }
  387    396   
    }
  388    397   
}
         398  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
  389    399   
impl
  390    400   
    ::aws_smithy_http_server::response::IntoResponse<
  391    401   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
  392    402   
    > for crate::output::OperationWithRequiredMembersOutput
  393    403   
{
  394    404   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  395    405   
        match crate::protocol_serde::shape_operation_with_required_members::ser_operation_with_required_members_http_response(self) {
  396    406   
                        Ok(response) => response,
  397    407   
                        Err(e) => {
  398    408   
                            ::tracing::error!(error = %e, "failed to serialize response");
  399    409   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  400    410   
                        }
  401    411   
                    }
  402    412   
    }
  403    413   
}
  404    414   
         415  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
  405    416   
static CONTENT_TYPE_OPERATIONWITHDEFAULTS: std::sync::LazyLock<::mime::Mime> =
  406    417   
    std::sync::LazyLock::new(|| {
  407    418   
        "application/x-amz-json-1.0"
  408    419   
            .parse::<::mime::Mime>()
  409    420   
            .expect("BUG: MIME parsing failed, content_type is not valid")
  410    421   
    });
  411    422   
::pin_project_lite::pin_project! {
  412    423   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  413    424   
    /// [`OperationWithDefaultsInput`](crate::input::OperationWithDefaultsInput) using modelled bindings.
  414    425   
    pub struct OperationWithDefaultsInputFuture {
@@ -444,455 +539,555 @@
  464    475   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  465    476   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  466    477   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  467    478   
            },
  468    479   
        );
  469    480   
        OperationWithDefaultsInputFuture {
  470    481   
            inner: Box::pin(fut),
  471    482   
        }
  472    483   
    }
  473    484   
}
         485  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
  474    486   
impl
  475    487   
    ::aws_smithy_http_server::response::IntoResponse<
  476    488   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
  477    489   
    > for crate::output::OperationWithDefaultsOutput
  478    490   
{
  479    491   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  480    492   
        match crate::protocol_serde::shape_operation_with_defaults::ser_operation_with_defaults_http_response(self) {
  481    493   
                        Ok(response) => response,
  482    494   
                        Err(e) => {
  483    495   
                            ::tracing::error!(error = %e, "failed to serialize response");
  484    496   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  485    497   
                        }
  486    498   
                    }
  487    499   
    }
  488    500   
}
         501  +
/* ServerHttpBoundProtocolGenerator.kt:350 */
  489    502   
impl
  490    503   
    ::aws_smithy_http_server::response::IntoResponse<
  491    504   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
  492    505   
    > for crate::error::OperationWithDefaultsError
  493    506   
{
  494    507   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  495    508   
        match crate::protocol_serde::shape_operation_with_defaults::ser_operation_with_defaults_http_error(&self) {
  496    509   
            Ok(mut response) => {
  497    510   
                response.extensions_mut().insert(::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()));
  498    511   
                response
  499    512   
            },
  500    513   
            Err(e) => {
  501    514   
                ::tracing::error!(error = %e, "failed to serialize response");
  502    515   
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  503    516   
            }
  504    517   
        }
  505    518   
    }
  506    519   
}
  507    520   
         521  +
/* RustType.kt:516 */
  508    522   
#[allow(unreachable_code, unused_variables)]
         523  +
/* RustType.kt:516 */
  509    524   
#[cfg(test)]
         525  +
/* ProtocolTestGenerator.kt:98 */
  510    526   
mod operation_with_defaults_test {
  511    527   
  512    528   
    /// Server populates default values when missing in request body.
  513    529   
    /// Test ID: AwsJson10ServerPopulatesDefaultsWhenMissingInRequestBody
  514    530   
    #[::tokio::test]
  515    531   
    #[::tracing_test::traced_test]
  516    532   
    #[should_panic]
  517    533   
    async fn aws_json10_server_populates_defaults_when_missing_in_request_body_request() {
  518    534   
        #[allow(unused_mut)]
  519    535   
        let mut http_request = http::Request::builder()
@@ -763,779 +824,843 @@
  783    799   
            http_response.headers(),
  784    800   
            expected_headers,
  785    801   
        ));
  786    802   
        let body = ::hyper::body::to_bytes(http_response.into_body())
  787    803   
            .await
  788    804   
            .expect("unable to extract body to bytes");
  789    805   
        ::aws_smithy_protocol_test::assert_ok(
  790    806   
        ::aws_smithy_protocol_test::validate_body(&body, "{\n    \"defaultString\": \"hi\",\n    \"defaultBoolean\": true,\n    \"defaultList\": [],\n    \"defaultDocumentMap\": {},\n    \"defaultDocumentString\": \"hi\",\n    \"defaultDocumentBoolean\": true,\n    \"defaultDocumentList\": [],\n    \"defaultTimestamp\": 0,\n    \"defaultBlob\": \"YWJj\",\n    \"defaultByte\": 1,\n    \"defaultShort\": 1,\n    \"defaultInteger\": 10,\n    \"defaultLong\": 100,\n    \"defaultFloat\": 1.0,\n    \"defaultDouble\": 1.0,\n    \"defaultMap\": {},\n    \"defaultEnum\": \"FOO\",\n    \"defaultIntEnum\": 1,\n    \"emptyString\": \"\",\n    \"falseBoolean\": false,\n    \"emptyBlob\": \"\",\n    \"zeroByte\": 0,\n    \"zeroShort\": 0,\n    \"zeroInteger\": 0,\n    \"zeroLong\": 0,\n    \"zeroFloat\": 0.0,\n    \"zeroDouble\": 0.0\n}", ::aws_smithy_protocol_test::MediaType::from("application/json"))
  791    807   
        );
  792    808   
    }
         809  +
         810  +
    /* ProtocolTestGenerator.kt:98 */
  793    811   
}
  794    812   
         813  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
  795    814   
static CONTENT_TYPE_CONTENTTYPEPARAMETERS: std::sync::LazyLock<::mime::Mime> =
  796    815   
    std::sync::LazyLock::new(|| {
  797    816   
        "application/x-amz-json-1.0"
  798    817   
            .parse::<::mime::Mime>()
  799    818   
            .expect("BUG: MIME parsing failed, content_type is not valid")
  800    819   
    });
  801    820   
::pin_project_lite::pin_project! {
  802    821   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  803    822   
    /// [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput) using modelled bindings.
  804    823   
    pub struct ContentTypeParametersInputFuture {
@@ -834,853 +961,987 @@
  854    873   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  855    874   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  856    875   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  857    876   
            },
  858    877   
        );
  859    878   
        ContentTypeParametersInputFuture {
  860    879   
            inner: Box::pin(fut),
  861    880   
        }
  862    881   
    }
  863    882   
}
         883  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
  864    884   
impl
  865    885   
    ::aws_smithy_http_server::response::IntoResponse<
  866    886   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
  867    887   
    > for crate::output::ContentTypeParametersOutput
  868    888   
{
  869    889   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
  870    890   
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_response(self) {
  871    891   
                        Ok(response) => response,
  872    892   
                        Err(e) => {
  873    893   
                            ::tracing::error!(error = %e, "failed to serialize response");
  874    894   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  875    895   
                        }
  876    896   
                    }
  877    897   
    }
  878    898   
}
  879    899   
         900  +
/* RustType.kt:516 */
  880    901   
#[allow(unreachable_code, unused_variables)]
         902  +
/* RustType.kt:516 */
  881    903   
#[cfg(test)]
         904  +
/* ProtocolTestGenerator.kt:98 */
  882    905   
mod content_type_parameters_test {
  883    906   
  884    907   
    /// A server should ignore parameters added to the content type
  885    908   
    /// Test ID: AwsJson10MustSupportParametersInContentType
  886    909   
    #[::tokio::test]
  887    910   
    #[::tracing_test::traced_test]
  888    911   
    async fn aws_json10_must_support_parameters_in_content_type_request() {
  889    912   
        #[allow(unused_mut)]
  890    913   
        let mut http_request = http::Request::builder()
  891    914   
            .uri("/")
  892    915   
            .method("POST")
  893    916   
            .header("Content-Type", "application/x-amz-json-1.0; charset=utf-8")
  894    917   
            .header("X-Amz-Target", "JsonRpc10.ContentTypeParameters")
  895    918   
            .body(::aws_smithy_http_server::body::Body::from(
  896    919   
                ::bytes::Bytes::copy_from_slice(&::aws_smithy_protocol_test::decode_body_data(
  897    920   
                    "{\"value\":5}".as_bytes(),
  898    921   
                    ::aws_smithy_protocol_test::MediaType::from("application/json"),
  899    922   
                )),
  900    923   
            ))
  901    924   
            .unwrap();
  902    925   
        #[allow(unused_mut)]
  903    926   
        let (sender, mut receiver) = ::tokio::sync::mpsc::channel(1);
  904    927   
        let config = crate::service::JsonRpc10Config::builder().build();
  905    928   
        let service = crate::service::JsonRpc10::builder::<::hyper::body::Body, _, _, _>(config)
  906    929   
            .content_type_parameters(move |input: crate::input::ContentTypeParametersInput| {
  907    930   
                let sender = sender.clone();
  908    931   
                async move {
  909    932   
                    let result = {
  910    933   
                        let expected = crate::input::ContentTypeParametersInput {
  911    934   
                            value: ::std::option::Option::Some(5),
  912    935   
                        };
  913    936   
                        ::pretty_assertions::assert_eq!(input, expected);
  914    937   
                        let output = crate::output::ContentTypeParametersOutput {};
  915    938   
                        output
  916    939   
                    };
  917    940   
                    sender.send(()).await.expect("receiver dropped early");
  918    941   
                    result
  919    942   
                }
  920    943   
            })
  921    944   
            .build_unchecked();
  922    945   
        let http_response = ::tower::ServiceExt::oneshot(service, http_request)
  923    946   
            .await
  924    947   
            .expect("unable to make an HTTP request");
  925    948   
        assert!(
  926    949   
            receiver.recv().await.is_some(),
  927    950   
            "we expected operation handler to be invoked but it was not entered"
  928    951   
        );
  929    952   
    }
         953  +
         954  +
    /* ProtocolTestGenerator.kt:98 */
  930    955   
}
  931    956   
         957  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
  932    958   
static CONTENT_TYPE_PUTWITHCONTENTENCODING: std::sync::LazyLock<::mime::Mime> =
  933    959   
    std::sync::LazyLock::new(|| {
  934    960   
        "application/x-amz-json-1.0"
  935    961   
            .parse::<::mime::Mime>()
  936    962   
            .expect("BUG: MIME parsing failed, content_type is not valid")
  937    963   
    });
  938    964   
::pin_project_lite::pin_project! {
  939    965   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  940    966   
    /// [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput) using modelled bindings.
  941    967   
    pub struct PutWithContentEncodingInputFuture {
@@ -971,997 +1046,1074 @@
  991   1017   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  992   1018   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  993   1019   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  994   1020   
            },
  995   1021   
        );
  996   1022   
        PutWithContentEncodingInputFuture {
  997   1023   
            inner: Box::pin(fut),
  998   1024   
        }
  999   1025   
    }
 1000   1026   
}
        1027  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 1001   1028   
impl
 1002   1029   
    ::aws_smithy_http_server::response::IntoResponse<
 1003   1030   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1004   1031   
    > for crate::output::PutWithContentEncodingOutput
 1005   1032   
{
 1006   1033   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 1007   1034   
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_response(self) {
 1008   1035   
                        Ok(response) => response,
 1009   1036   
                        Err(e) => {
 1010   1037   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1011   1038   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1012   1039   
                        }
 1013   1040   
                    }
 1014   1041   
    }
 1015   1042   
}
 1016   1043   
        1044  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 1017   1045   
static CONTENT_TYPE_HOSTWITHPATHOPERATION: std::sync::LazyLock<::mime::Mime> =
 1018   1046   
    std::sync::LazyLock::new(|| {
 1019   1047   
        "application/x-amz-json-1.0"
 1020   1048   
            .parse::<::mime::Mime>()
 1021   1049   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 1022   1050   
    });
 1023   1051   
::pin_project_lite::pin_project! {
 1024   1052   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1025   1053   
    /// [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput) using modelled bindings.
 1026   1054   
    pub struct HostWithPathOperationInputFuture {
@@ -1056,1084 +1131,1161 @@
 1076   1104   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1077   1105   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1078   1106   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1079   1107   
            },
 1080   1108   
        );
 1081   1109   
        HostWithPathOperationInputFuture {
 1082   1110   
            inner: Box::pin(fut),
 1083   1111   
        }
 1084   1112   
    }
 1085   1113   
}
        1114  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 1086   1115   
impl
 1087   1116   
    ::aws_smithy_http_server::response::IntoResponse<
 1088   1117   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1089   1118   
    > for crate::output::HostWithPathOperationOutput
 1090   1119   
{
 1091   1120   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 1092   1121   
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_response(self) {
 1093   1122   
                        Ok(response) => response,
 1094   1123   
                        Err(e) => {
 1095   1124   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1096   1125   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1097   1126   
                        }
 1098   1127   
                    }
 1099   1128   
    }
 1100   1129   
}
 1101   1130   
        1131  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 1102   1132   
static CONTENT_TYPE_ENDPOINTWITHHOSTLABELOPERATION: std::sync::LazyLock<::mime::Mime> =
 1103   1133   
    std::sync::LazyLock::new(|| {
 1104   1134   
        "application/x-amz-json-1.0"
 1105   1135   
            .parse::<::mime::Mime>()
 1106   1136   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 1107   1137   
    });
 1108   1138   
::pin_project_lite::pin_project! {
 1109   1139   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1110   1140   
    /// [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) using modelled bindings.
 1111   1141   
    pub struct EndpointWithHostLabelOperationInputFuture {
@@ -1141,1171 +1290,1328 @@
 1161   1191   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1162   1192   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1163   1193   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1164   1194   
            },
 1165   1195   
        );
 1166   1196   
        EndpointWithHostLabelOperationInputFuture {
 1167   1197   
            inner: Box::pin(fut),
 1168   1198   
        }
 1169   1199   
    }
 1170   1200   
}
        1201  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 1171   1202   
impl
 1172   1203   
    ::aws_smithy_http_server::response::IntoResponse<
 1173   1204   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1174   1205   
    > for crate::output::EndpointWithHostLabelOperationOutput
 1175   1206   
{
 1176   1207   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 1177   1208   
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_response(self) {
 1178   1209   
                        Ok(response) => response,
 1179   1210   
                        Err(e) => {
 1180   1211   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1181   1212   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1182   1213   
                        }
 1183   1214   
                    }
 1184   1215   
    }
 1185   1216   
}
        1217  +
/* ServerHttpBoundProtocolGenerator.kt:350 */
 1186   1218   
impl
 1187   1219   
    ::aws_smithy_http_server::response::IntoResponse<
 1188   1220   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1189   1221   
    > for crate::error::EndpointWithHostLabelOperationError
 1190   1222   
{
 1191   1223   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 1192   1224   
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_error(&self) {
 1193   1225   
            Ok(mut response) => {
 1194   1226   
                response.extensions_mut().insert(::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1195   1227   
                response
 1196   1228   
            },
 1197   1229   
            Err(e) => {
 1198   1230   
                ::tracing::error!(error = %e, "failed to serialize response");
 1199   1231   
                ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1200   1232   
            }
 1201   1233   
        }
 1202   1234   
    }
 1203   1235   
}
 1204   1236   
        1237  +
/* RustType.kt:516 */
 1205   1238   
#[allow(unreachable_code, unused_variables)]
        1239  +
/* RustType.kt:516 */
 1206   1240   
#[cfg(test)]
        1241  +
/* ProtocolTestGenerator.kt:98 */
 1207   1242   
mod endpoint_with_host_label_operation_test {
 1208   1243   
 1209   1244   
    /// Operations can prepend to the given host if they define the
 1210   1245   
    /// endpoint trait, and can use the host label trait to define
 1211   1246   
    /// further customization based on user input.
 1212   1247   
    /// Test ID: AwsJson10EndpointTraitWithHostLabel
 1213   1248   
    #[::tokio::test]
 1214   1249   
    #[::tracing_test::traced_test]
 1215   1250   
    #[should_panic]
 1216   1251   
    async fn aws_json10_endpoint_trait_with_host_label_request() {
 1217   1252   
        #[allow(unused_mut)]
 1218   1253   
        let mut http_request = http::Request::builder()
 1219   1254   
            .uri("/")
 1220   1255   
            .method("POST")
 1221   1256   
            .body(::aws_smithy_http_server::body::Body::from(
 1222   1257   
                ::bytes::Bytes::copy_from_slice(&::aws_smithy_protocol_test::decode_body_data(
 1223   1258   
                    "{\"label\": \"bar\"}".as_bytes(),
 1224   1259   
                    ::aws_smithy_protocol_test::MediaType::from("application/json"),
 1225   1260   
                )),
 1226   1261   
            ))
 1227   1262   
            .unwrap();
 1228   1263   
        todo!("endpoint trait not supported yet");
 1229   1264   
        #[allow(unused_mut)]
 1230   1265   
        let (sender, mut receiver) = ::tokio::sync::mpsc::channel(1);
 1231   1266   
        let config = crate::service::JsonRpc10Config::builder().build();
 1232   1267   
        let service = crate::service::JsonRpc10::builder::<::hyper::body::Body, _, _, _>(config)
 1233   1268   
            .endpoint_with_host_label_operation(
 1234   1269   
                move |input: crate::input::EndpointWithHostLabelOperationInput| {
 1235   1270   
                    let sender = sender.clone();
 1236   1271   
                    async move {
 1237   1272   
                        let result = {
 1238   1273   
                            let expected = crate::input::EndpointWithHostLabelOperationInput {
 1239   1274   
                                label: "bar".to_owned(),
 1240   1275   
                            };
 1241   1276   
                            ::pretty_assertions::assert_eq!(input, expected);
 1242   1277   
                            let output = crate::output::EndpointWithHostLabelOperationOutput {};
 1243   1278   
                            Ok(output)
 1244   1279   
                        };
 1245   1280   
                        sender.send(()).await.expect("receiver dropped early");
 1246   1281   
                        result
 1247   1282   
                    }
 1248   1283   
                },
 1249   1284   
            )
 1250   1285   
            .build_unchecked();
 1251   1286   
        let http_response = ::tower::ServiceExt::oneshot(service, http_request)
 1252   1287   
            .await
 1253   1288   
            .expect("unable to make an HTTP request");
 1254   1289   
        assert!(
 1255   1290   
            receiver.recv().await.is_some(),
 1256   1291   
            "we expected operation handler to be invoked but it was not entered"
 1257   1292   
        );
 1258   1293   
    }
        1294  +
        1295  +
    /* ProtocolTestGenerator.kt:98 */
 1259   1296   
}
 1260   1297   
        1298  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 1261   1299   
static CONTENT_TYPE_ENDPOINTOPERATION: std::sync::LazyLock<::mime::Mime> =
 1262   1300   
    std::sync::LazyLock::new(|| {
 1263   1301   
        "application/x-amz-json-1.0"
 1264   1302   
            .parse::<::mime::Mime>()
 1265   1303   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 1266   1304   
    });
 1267   1305   
::pin_project_lite::pin_project! {
 1268   1306   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1269   1307   
    /// [`EndpointOperationInput`](crate::input::EndpointOperationInput) using modelled bindings.
 1270   1308   
    pub struct EndpointOperationInputFuture {
@@ -1302,1340 +1436,1481 @@
 1322   1360   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1323   1361   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1324   1362   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1325   1363   
            },
 1326   1364   
        );
 1327   1365   
        EndpointOperationInputFuture {
 1328   1366   
            inner: Box::pin(fut),
 1329   1367   
        }
 1330   1368   
    }
 1331   1369   
}
        1370  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 1332   1371   
impl
 1333   1372   
    ::aws_smithy_http_server::response::IntoResponse<
 1334   1373   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1335   1374   
    > for crate::output::EndpointOperationOutput
 1336   1375   
{
 1337   1376   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 1338   1377   
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_response(
 1339   1378   
            self,
 1340   1379   
        ) {
 1341   1380   
            Ok(response) => response,
 1342   1381   
            Err(e) => {
 1343   1382   
                ::tracing::error!(error = %e, "failed to serialize response");
 1344   1383   
                ::aws_smithy_http_server::response::IntoResponse::<
 1345   1384   
                    ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1346   1385   
                >::into_response(
 1347   1386   
                    ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(
 1348   1387   
                        e,
 1349   1388   
                    ),
 1350   1389   
                )
 1351   1390   
            }
 1352   1391   
        }
 1353   1392   
    }
 1354   1393   
}
 1355   1394   
        1395  +
/* RustType.kt:516 */
 1356   1396   
#[allow(unreachable_code, unused_variables)]
        1397  +
/* RustType.kt:516 */
 1357   1398   
#[cfg(test)]
        1399  +
/* ProtocolTestGenerator.kt:98 */
 1358   1400   
mod endpoint_operation_test {
 1359   1401   
 1360   1402   
    /// Operations can prepend to the given host if they define the
 1361   1403   
    /// endpoint trait.
 1362   1404   
    /// Test ID: AwsJson10EndpointTrait
 1363   1405   
    #[::tokio::test]
 1364   1406   
    #[::tracing_test::traced_test]
 1365   1407   
    #[should_panic]
 1366   1408   
    async fn aws_json10_endpoint_trait_request() {
 1367   1409   
        #[allow(unused_mut)]
 1368   1410   
        let mut http_request = http::Request::builder()
 1369   1411   
            .uri("/")
 1370   1412   
            .method("POST")
 1371   1413   
            .body(::aws_smithy_http_server::body::Body::from(
 1372   1414   
                ::bytes::Bytes::copy_from_slice(&::aws_smithy_protocol_test::decode_body_data(
 1373   1415   
                    "{}".as_bytes(),
 1374   1416   
                    ::aws_smithy_protocol_test::MediaType::from("unknown"),
 1375   1417   
                )),
 1376   1418   
            ))
 1377   1419   
            .unwrap();
 1378   1420   
        todo!("endpoint trait not supported yet");
 1379   1421   
        #[allow(unused_mut)]
 1380   1422   
        let (sender, mut receiver) = ::tokio::sync::mpsc::channel(1);
 1381   1423   
        let config = crate::service::JsonRpc10Config::builder().build();
 1382   1424   
        let service = crate::service::JsonRpc10::builder::<::hyper::body::Body, _, _, _>(config)
 1383   1425   
            .endpoint_operation(move |input: crate::input::EndpointOperationInput| {
 1384   1426   
                let sender = sender.clone();
 1385   1427   
                async move {
 1386   1428   
                    let result = {
 1387   1429   
                        let expected = crate::input::EndpointOperationInput {};
 1388   1430   
                        ::pretty_assertions::assert_eq!(input, expected);
 1389   1431   
                        let output = crate::output::EndpointOperationOutput {};
 1390   1432   
                        output
 1391   1433   
                    };
 1392   1434   
                    sender.send(()).await.expect("receiver dropped early");
 1393   1435   
                    result
 1394   1436   
                }
 1395   1437   
            })
 1396   1438   
            .build_unchecked();
 1397   1439   
        let http_response = ::tower::ServiceExt::oneshot(service, http_request)
 1398   1440   
            .await
 1399   1441   
            .expect("unable to make an HTTP request");
 1400   1442   
        assert!(
 1401   1443   
            receiver.recv().await.is_some(),
 1402   1444   
            "we expected operation handler to be invoked but it was not entered"
 1403   1445   
        );
 1404   1446   
    }
        1447  +
        1448  +
    /* ProtocolTestGenerator.kt:98 */
 1405   1449   
}
 1406   1450   
        1451  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 1407   1452   
static CONTENT_TYPE_JSONUNIONS: std::sync::LazyLock<::mime::Mime> =
 1408   1453   
    std::sync::LazyLock::new(|| {
 1409   1454   
        "application/x-amz-json-1.0"
 1410   1455   
            .parse::<::mime::Mime>()
 1411   1456   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 1412   1457   
    });
 1413   1458   
::pin_project_lite::pin_project! {
 1414   1459   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1415   1460   
    /// [`JsonUnionsInput`](crate::input::JsonUnionsInput) using modelled bindings.
 1416   1461   
    pub struct JsonUnionsInputFuture {
@@ -1446,1491 +1555,1605 @@
 1466   1511   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1467   1512   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1468   1513   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1469   1514   
            },
 1470   1515   
        );
 1471   1516   
        JsonUnionsInputFuture {
 1472   1517   
            inner: Box::pin(fut),
 1473   1518   
        }
 1474   1519   
    }
 1475   1520   
}
        1521  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 1476   1522   
impl
 1477   1523   
    ::aws_smithy_http_server::response::IntoResponse<
 1478   1524   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1479   1525   
    > for crate::output::JsonUnionsOutput
 1480   1526   
{
 1481   1527   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 1482   1528   
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_response(self) {
 1483   1529   
            Ok(response) => response,
 1484   1530   
            Err(e) => {
 1485   1531   
                ::tracing::error!(error = %e, "failed to serialize response");
 1486   1532   
                ::aws_smithy_http_server::response::IntoResponse::<
 1487   1533   
                    ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1488   1534   
                >::into_response(
 1489   1535   
                    ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(
 1490   1536   
                        e,
 1491   1537   
                    ),
 1492   1538   
                )
 1493   1539   
            }
 1494   1540   
        }
 1495   1541   
    }
 1496   1542   
}
        1543  +
/* ServerHttpBoundProtocolGenerator.kt:350 */
 1497   1544   
impl
 1498   1545   
    ::aws_smithy_http_server::response::IntoResponse<
 1499   1546   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1500   1547   
    > for crate::error::JsonUnionsError
 1501   1548   
{
 1502   1549   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 1503   1550   
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_error(&self) {
 1504   1551   
            Ok(mut response) => {
 1505   1552   
                response.extensions_mut().insert(
 1506   1553   
                    ::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()),
 1507   1554   
                );
 1508   1555   
                response
 1509   1556   
            }
 1510   1557   
            Err(e) => {
 1511   1558   
                ::tracing::error!(error = %e, "failed to serialize response");
 1512   1559   
                ::aws_smithy_http_server::response::IntoResponse::<
 1513   1560   
                    ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 1514   1561   
                >::into_response(
 1515   1562   
                    ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(
 1516   1563   
                        e,
 1517   1564   
                    ),
 1518   1565   
                )
 1519   1566   
            }
 1520   1567   
        }
 1521   1568   
    }
 1522   1569   
}
 1523   1570   
        1571  +
/* RustType.kt:516 */
 1524   1572   
#[allow(unreachable_code, unused_variables)]
        1573  +
/* RustType.kt:516 */
 1525   1574   
#[cfg(test)]
        1575  +
/* ProtocolTestGenerator.kt:98 */
 1526   1576   
mod json_unions_test {
 1527   1577   
 1528   1578   
    /// Serializes a string union value
 1529   1579   
    /// Test ID: AwsJson10SerializeStringUnionValue
 1530   1580   
    #[::tokio::test]
 1531   1581   
    #[::tracing_test::traced_test]
 1532   1582   
    async fn aws_json10_serialize_string_union_value_request() {
 1533   1583   
        #[allow(unused_mut)]
 1534   1584   
        let mut http_request = http::Request::builder()
 1535   1585   
            .uri("/")
@@ -2335,2385 +2396,2449 @@
 2355   2405   
            http_response.headers(),
 2356   2406   
            expected_headers,
 2357   2407   
        ));
 2358   2408   
        let body = ::hyper::body::to_bytes(http_response.into_body())
 2359   2409   
            .await
 2360   2410   
            .expect("unable to extract body to bytes");
 2361   2411   
        ::aws_smithy_protocol_test::assert_ok(
 2362   2412   
        ::aws_smithy_protocol_test::validate_body(&body, "{\n    \"contents\": {\n        \"structureValue\": {\n            \"hi\": \"hello\"\n        }\n    }\n}", ::aws_smithy_protocol_test::MediaType::from("application/json"))
 2363   2413   
        );
 2364   2414   
    }
        2415  +
        2416  +
    /* ProtocolTestGenerator.kt:98 */
 2365   2417   
}
 2366   2418   
        2419  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 2367   2420   
static CONTENT_TYPE_GREETINGWITHERRORS: std::sync::LazyLock<::mime::Mime> =
 2368   2421   
    std::sync::LazyLock::new(|| {
 2369   2422   
        "application/x-amz-json-1.0"
 2370   2423   
            .parse::<::mime::Mime>()
 2371   2424   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 2372   2425   
    });
 2373   2426   
::pin_project_lite::pin_project! {
 2374   2427   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 2375   2428   
    /// [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput) using modelled bindings.
 2376   2429   
    pub struct GreetingWithErrorsInputFuture {
@@ -2408,2461 +2513,2571 @@
 2428   2481   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 2429   2482   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2430   2483   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 2431   2484   
            },
 2432   2485   
        );
 2433   2486   
        GreetingWithErrorsInputFuture {
 2434   2487   
            inner: Box::pin(fut),
 2435   2488   
        }
 2436   2489   
    }
 2437   2490   
}
        2491  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 2438   2492   
impl
 2439   2493   
    ::aws_smithy_http_server::response::IntoResponse<
 2440   2494   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 2441   2495   
    > for crate::output::GreetingWithErrorsOutput
 2442   2496   
{
 2443   2497   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 2444   2498   
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_response(self) {
 2445   2499   
                        Ok(response) => response,
 2446   2500   
                        Err(e) => {
 2447   2501   
                            ::tracing::error!(error = %e, "failed to serialize response");
 2448   2502   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 2449   2503   
                        }
 2450   2504   
                    }
 2451   2505   
    }
 2452   2506   
}
        2507  +
/* ServerHttpBoundProtocolGenerator.kt:350 */
 2453   2508   
impl
 2454   2509   
    ::aws_smithy_http_server::response::IntoResponse<
 2455   2510   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 2456   2511   
    > for crate::error::GreetingWithErrorsError
 2457   2512   
{
 2458   2513   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 2459   2514   
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_error(
 2460   2515   
            &self,
 2461   2516   
        ) {
 2462   2517   
            Ok(mut response) => {
 2463   2518   
                response.extensions_mut().insert(
 2464   2519   
                    ::aws_smithy_http_server::extension::ModeledErrorExtension::new(self.name()),
 2465   2520   
                );
 2466   2521   
                response
 2467   2522   
            }
 2468   2523   
            Err(e) => {
 2469   2524   
                ::tracing::error!(error = %e, "failed to serialize response");
 2470   2525   
                ::aws_smithy_http_server::response::IntoResponse::<
 2471   2526   
                    ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 2472   2527   
                >::into_response(
 2473   2528   
                    ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(
 2474   2529   
                        e,
 2475   2530   
                    ),
 2476   2531   
                )
 2477   2532   
            }
 2478   2533   
        }
 2479   2534   
    }
 2480   2535   
}
 2481   2536   
        2537  +
/* RustType.kt:516 */
 2482   2538   
#[allow(unreachable_code, unused_variables)]
        2539  +
/* RustType.kt:516 */
 2483   2540   
#[cfg(test)]
        2541  +
/* ProtocolTestGenerator.kt:98 */
 2484   2542   
mod greeting_with_errors_test {
 2485   2543   
 2486   2544   
    /// Parses simple JSON errors
 2487   2545   
    /// Test ID: AwsJson10InvalidGreetingError
 2488   2546   
    #[::tokio::test]
 2489   2547   
    #[::tracing_test::traced_test]
 2490   2548   
    async fn aws_json10_invalid_greeting_error_response() {
 2491   2549   
        let output = crate::error::InvalidGreeting {
 2492   2550   
            message: ::std::option::Option::Some("Hi".to_owned()),
 2493   2551   
        };
@@ -2545,2603 +2606,2667 @@
 2565   2623   
        ));
 2566   2624   
        let body = ::hyper::body::to_bytes(http_response.into_body())
 2567   2625   
            .await
 2568   2626   
            .expect("unable to extract body to bytes");
 2569   2627   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 2570   2628   
            &body,
 2571   2629   
            "{\n    \"__type\": \"aws.protocoltests.json10#ComplexError\"\n}",
 2572   2630   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 2573   2631   
        ));
 2574   2632   
    }
        2633  +
        2634  +
    /* ProtocolTestGenerator.kt:98 */
 2575   2635   
}
 2576   2636   
        2637  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 2577   2638   
static CONTENT_TYPE_SIMPLESCALARPROPERTIES: std::sync::LazyLock<::mime::Mime> =
 2578   2639   
    std::sync::LazyLock::new(|| {
 2579   2640   
        "application/x-amz-json-1.0"
 2580   2641   
            .parse::<::mime::Mime>()
 2581   2642   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 2582   2643   
    });
 2583   2644   
::pin_project_lite::pin_project! {
 2584   2645   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 2585   2646   
    /// [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput) using modelled bindings.
 2586   2647   
    pub struct SimpleScalarPropertiesInputFuture {
@@ -2616,2677 +2693,2758 @@
 2636   2697   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 2637   2698   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2638   2699   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 2639   2700   
            },
 2640   2701   
        );
 2641   2702   
        SimpleScalarPropertiesInputFuture {
 2642   2703   
            inner: Box::pin(fut),
 2643   2704   
        }
 2644   2705   
    }
 2645   2706   
}
        2707  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 2646   2708   
impl
 2647   2709   
    ::aws_smithy_http_server::response::IntoResponse<
 2648   2710   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 2649   2711   
    > for crate::output::SimpleScalarPropertiesOutput
 2650   2712   
{
 2651   2713   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 2652   2714   
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_response(self) {
 2653   2715   
                        Ok(response) => response,
 2654   2716   
                        Err(e) => {
 2655   2717   
                            ::tracing::error!(error = %e, "failed to serialize response");
 2656   2718   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 2657   2719   
                        }
 2658   2720   
                    }
 2659   2721   
    }
 2660   2722   
}
 2661   2723   
        2724  +
/* RustType.kt:516 */
 2662   2725   
#[allow(unreachable_code, unused_variables)]
        2726  +
/* RustType.kt:516 */
 2663   2727   
#[cfg(test)]
        2728  +
/* ProtocolTestGenerator.kt:98 */
 2664   2729   
mod simple_scalar_properties_test {
 2665   2730   
 2666   2731   
    /// Supports handling NaN float values.
 2667   2732   
    /// Test ID: AwsJson10SupportsNaNFloatInputs
 2668   2733   
    #[::tokio::test]
 2669   2734   
    #[::tracing_test::traced_test]
 2670   2735   
    async fn aws_json10_supports_na_n_float_inputs_request() {
 2671   2736   
        #[allow(unused_mut)]
 2672   2737   
        let mut http_request = http::Request::builder()
 2673   2738   
            .uri("/")
@@ -2952,3017 +3013,3081 @@
 2972   3037   
        ));
 2973   3038   
        let body = ::hyper::body::to_bytes(http_response.into_body())
 2974   3039   
            .await
 2975   3040   
            .expect("unable to extract body to bytes");
 2976   3041   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 2977   3042   
            &body,
 2978   3043   
            "{\n    \"floatValue\": \"-Infinity\",\n    \"doubleValue\": \"-Infinity\"\n}",
 2979   3044   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 2980   3045   
        ));
 2981   3046   
    }
        3047  +
        3048  +
    /* ProtocolTestGenerator.kt:98 */
 2982   3049   
}
 2983   3050   
        3051  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 2984   3052   
static CONTENT_TYPE_EMPTYINPUTANDEMPTYOUTPUT: std::sync::LazyLock<::mime::Mime> =
 2985   3053   
    std::sync::LazyLock::new(|| {
 2986   3054   
        "application/x-amz-json-1.0"
 2987   3055   
            .parse::<::mime::Mime>()
 2988   3056   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 2989   3057   
    });
 2990   3058   
::pin_project_lite::pin_project! {
 2991   3059   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 2992   3060   
    /// [`EmptyInputAndEmptyOutputInput`](crate::input::EmptyInputAndEmptyOutputInput) using modelled bindings.
 2993   3061   
    pub struct EmptyInputAndEmptyOutputInputFuture {
@@ -3023,3091 +3100,3172 @@
 3043   3111   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 3044   3112   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3045   3113   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 3046   3114   
            },
 3047   3115   
        );
 3048   3116   
        EmptyInputAndEmptyOutputInputFuture {
 3049   3117   
            inner: Box::pin(fut),
 3050   3118   
        }
 3051   3119   
    }
 3052   3120   
}
        3121  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 3053   3122   
impl
 3054   3123   
    ::aws_smithy_http_server::response::IntoResponse<
 3055   3124   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 3056   3125   
    > for crate::output::EmptyInputAndEmptyOutputOutput
 3057   3126   
{
 3058   3127   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 3059   3128   
        match crate::protocol_serde::shape_empty_input_and_empty_output::ser_empty_input_and_empty_output_http_response(self) {
 3060   3129   
                        Ok(response) => response,
 3061   3130   
                        Err(e) => {
 3062   3131   
                            ::tracing::error!(error = %e, "failed to serialize response");
 3063   3132   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 3064   3133   
                        }
 3065   3134   
                    }
 3066   3135   
    }
 3067   3136   
}
 3068   3137   
        3138  +
/* RustType.kt:516 */
 3069   3139   
#[allow(unreachable_code, unused_variables)]
        3140  +
/* RustType.kt:516 */
 3070   3141   
#[cfg(test)]
        3142  +
/* ProtocolTestGenerator.kt:98 */
 3071   3143   
mod empty_input_and_empty_output_test {
 3072   3144   
 3073   3145   
    /// Clients must always send an empty object if input is modeled.
 3074   3146   
    /// Test ID: AwsJson10EmptyInputAndEmptyOutput
 3075   3147   
    #[::tokio::test]
 3076   3148   
    #[::tracing_test::traced_test]
 3077   3149   
    async fn aws_json10_empty_input_and_empty_output_request() {
 3078   3150   
        #[allow(unused_mut)]
 3079   3151   
        let mut http_request = http::Request::builder()
 3080   3152   
            .uri("/")
@@ -3116,3188 +3177,3252 @@
 3136   3208   
        ));
 3137   3209   
        let body = ::hyper::body::to_bytes(http_response.into_body())
 3138   3210   
            .await
 3139   3211   
            .expect("unable to extract body to bytes");
 3140   3212   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 3141   3213   
            &body,
 3142   3214   
            "{}",
 3143   3215   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 3144   3216   
        ));
 3145   3217   
    }
        3218  +
        3219  +
    /* ProtocolTestGenerator.kt:98 */
 3146   3220   
}
 3147   3221   
        3222  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 3148   3223   
static CONTENT_TYPE_NOINPUTANDOUTPUT: std::sync::LazyLock<::mime::Mime> =
 3149   3224   
    std::sync::LazyLock::new(|| {
 3150   3225   
        "application/x-amz-json-1.0"
 3151   3226   
            .parse::<::mime::Mime>()
 3152   3227   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 3153   3228   
    });
 3154   3229   
::pin_project_lite::pin_project! {
 3155   3230   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 3156   3231   
    /// [`NoInputAndOutputInput`](crate::input::NoInputAndOutputInput) using modelled bindings.
 3157   3232   
    pub struct NoInputAndOutputInputFuture {
@@ -3189,3264 +3266,3345 @@
 3209   3284   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 3210   3285   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3211   3286   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 3212   3287   
            },
 3213   3288   
        );
 3214   3289   
        NoInputAndOutputInputFuture {
 3215   3290   
            inner: Box::pin(fut),
 3216   3291   
        }
 3217   3292   
    }
 3218   3293   
}
        3294  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 3219   3295   
impl
 3220   3296   
    ::aws_smithy_http_server::response::IntoResponse<
 3221   3297   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 3222   3298   
    > for crate::output::NoInputAndOutputOutput
 3223   3299   
{
 3224   3300   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 3225   3301   
        match crate::protocol_serde::shape_no_input_and_output::ser_no_input_and_output_http_response(self) {
 3226   3302   
                        Ok(response) => response,
 3227   3303   
                        Err(e) => {
 3228   3304   
                            ::tracing::error!(error = %e, "failed to serialize response");
 3229   3305   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 3230   3306   
                        }
 3231   3307   
                    }
 3232   3308   
    }
 3233   3309   
}
 3234   3310   
        3311  +
/* RustType.kt:516 */
 3235   3312   
#[allow(unreachable_code, unused_variables)]
        3313  +
/* RustType.kt:516 */
 3236   3314   
#[cfg(test)]
        3315  +
/* ProtocolTestGenerator.kt:98 */
 3237   3316   
mod no_input_and_output_test {
 3238   3317   
 3239   3318   
    /// A client should always send and empty JSON object payload.
 3240   3319   
    /// Test ID: AwsJson10NoInputAndOutput
 3241   3320   
    #[::tokio::test]
 3242   3321   
    #[::tracing_test::traced_test]
 3243   3322   
    async fn aws_json10_no_input_and_output_request() {
 3244   3323   
        #[allow(unused_mut)]
 3245   3324   
        let mut http_request = http::Request::builder()
 3246   3325   
            .uri("/")
@@ -3280,3359 +3341,3423 @@
 3300   3379   
        ));
 3301   3380   
        let body = ::hyper::body::to_bytes(http_response.into_body())
 3302   3381   
            .await
 3303   3382   
            .expect("unable to extract body to bytes");
 3304   3383   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_body(
 3305   3384   
            &body,
 3306   3385   
            "{}",
 3307   3386   
            ::aws_smithy_protocol_test::MediaType::from("application/json"),
 3308   3387   
        ));
 3309   3388   
    }
        3389  +
        3390  +
    /* ProtocolTestGenerator.kt:98 */
 3310   3391   
}
 3311   3392   
        3393  +
/* ServerHttpBoundProtocolGenerator.kt:266 */
 3312   3394   
static CONTENT_TYPE_NOINPUTANDNOOUTPUT: std::sync::LazyLock<::mime::Mime> =
 3313   3395   
    std::sync::LazyLock::new(|| {
 3314   3396   
        "application/x-amz-json-1.0"
 3315   3397   
            .parse::<::mime::Mime>()
 3316   3398   
            .expect("BUG: MIME parsing failed, content_type is not valid")
 3317   3399   
    });
 3318   3400   
::pin_project_lite::pin_project! {
 3319   3401   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 3320   3402   
    /// [`NoInputAndNoOutputInput`](crate::input::NoInputAndNoOutputInput) using modelled bindings.
 3321   3403   
    pub struct NoInputAndNoOutputInputFuture {
@@ -3351,3433 +3428,3514 @@
 3371   3453   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 3372   3454   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3373   3455   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 3374   3456   
            },
 3375   3457   
        );
 3376   3458   
        NoInputAndNoOutputInputFuture {
 3377   3459   
            inner: Box::pin(fut),
 3378   3460   
        }
 3379   3461   
    }
 3380   3462   
}
        3463  +
/* ServerHttpBoundProtocolGenerator.kt:329 */
 3381   3464   
impl
 3382   3465   
    ::aws_smithy_http_server::response::IntoResponse<
 3383   3466   
        ::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0,
 3384   3467   
    > for crate::output::NoInputAndNoOutputOutput
 3385   3468   
{
 3386   3469   
    fn into_response(self) -> ::aws_smithy_http_server::response::Response {
 3387   3470   
        match crate::protocol_serde::shape_no_input_and_no_output::ser_no_input_and_no_output_http_response(self) {
 3388   3471   
                        Ok(response) => response,
 3389   3472   
                        Err(e) => {
 3390   3473   
                            ::tracing::error!(error = %e, "failed to serialize response");
 3391   3474   
                            ::aws_smithy_http_server::response::IntoResponse::<::aws_smithy_http_server::protocol::aws_json_10::AwsJson1_0>::into_response(::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 3392   3475   
                        }
 3393   3476   
                    }
 3394   3477   
    }
 3395   3478   
}
 3396   3479   
        3480  +
/* RustType.kt:516 */
 3397   3481   
#[allow(unreachable_code, unused_variables)]
        3482  +
/* RustType.kt:516 */
 3398   3483   
#[cfg(test)]
        3484  +
/* ProtocolTestGenerator.kt:98 */
 3399   3485   
mod no_input_and_no_output_test {
 3400   3486   
 3401   3487   
    /// Clients must always send an empty JSON object payload for
 3402   3488   
    /// operations with no input (that is, `{}`). While AWS service
 3403   3489   
    /// implementations support requests with no payload or requests
 3404   3490   
    /// that send `{}`, always sending `{}` from the client is
 3405   3491   
    /// preferred for forward compatibility in case input is ever
 3406   3492   
    /// added to an operation.
 3407   3493   
    /// Test ID: AwsJson10MustAlwaysSendEmptyJsonPayload
 3408   3494   
    #[::tokio::test]
@@ -3497,3583 +3527,3615 @@
 3517   3603   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(
 3518   3604   
            http_response.headers(),
 3519   3605   
            expected_headers,
 3520   3606   
        ));
 3521   3607   
        let body = ::hyper::body::to_bytes(http_response.into_body())
 3522   3608   
            .await
 3523   3609   
            .expect("unable to extract body to bytes");
 3524   3610   
        // No body.
 3525   3611   
        ::pretty_assertions::assert_eq!(&body, &bytes::Bytes::new());
 3526   3612   
    }
        3613  +
        3614  +
    /* ProtocolTestGenerator.kt:98 */
 3527   3615   
}

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

@@ -1,1 +0,454 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* ServerOperationGenerator.kt:48 */
    2      3   
#[allow(missing_docs)] // documentation missing in model
           4  +
                       /* ServerOperationGenerator.kt:55 */
    3      5   
pub struct OperationWithNestedStructure;
    4      6   
    5      7   
impl ::aws_smithy_http_server::operation::OperationShape for OperationWithNestedStructure {
    6      8   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
    7      9   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
    8     10   
            "aws.protocoltests.json10#OperationWithNestedStructure",
    9     11   
            "aws.protocoltests.json10",
   10     12   
            "OperationWithNestedStructure",
   11     13   
        );
   12     14   
   13     15   
    type Input = crate::input::OperationWithNestedStructureInput;
   14     16   
    type Output = crate::output::OperationWithNestedStructureOutput;
   15     17   
    type Error = crate::error::OperationWithNestedStructureError;
   16     18   
}
   17     19   
   18     20   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
   19     21   
    for OperationWithNestedStructure
   20     22   
{
   21     23   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   22     24   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   23     25   
   24     26   
    fn request_fmt() -> Self::RequestFmt {
   25     27   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   26     28   
    }
   27     29   
   28     30   
    fn response_fmt() -> Self::ResponseFmt {
   29     31   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   30     32   
    }
   31     33   
}
          34  +
/* ServerOperationGenerator.kt:88 */
   32     35   
          36  +
/* ServerOperationGenerator.kt:48 */
   33     37   
#[allow(missing_docs)] // documentation missing in model
          38  +
                       /* ServerOperationGenerator.kt:55 */
   34     39   
pub struct OperationWithRequiredMembers;
   35     40   
   36     41   
impl ::aws_smithy_http_server::operation::OperationShape for OperationWithRequiredMembers {
   37     42   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   38     43   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   39     44   
            "aws.protocoltests.json10#OperationWithRequiredMembers",
   40     45   
            "aws.protocoltests.json10",
   41     46   
            "OperationWithRequiredMembers",
   42     47   
        );
   43     48   
   44     49   
    type Input = crate::input::OperationWithRequiredMembersInput;
   45     50   
    type Output = crate::output::OperationWithRequiredMembersOutput;
   46     51   
    type Error = std::convert::Infallible;
   47     52   
}
   48     53   
   49     54   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
   50     55   
    for OperationWithRequiredMembers
   51     56   
{
   52     57   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   53     58   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   54     59   
   55     60   
    fn request_fmt() -> Self::RequestFmt {
   56     61   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   57     62   
    }
   58     63   
   59     64   
    fn response_fmt() -> Self::ResponseFmt {
   60     65   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   61     66   
    }
   62     67   
}
          68  +
/* ServerOperationGenerator.kt:88 */
   63     69   
          70  +
/* ServerOperationGenerator.kt:48 */
   64     71   
#[allow(missing_docs)] // documentation missing in model
          72  +
                       /* ServerOperationGenerator.kt:55 */
   65     73   
pub struct OperationWithDefaults;
   66     74   
   67     75   
impl ::aws_smithy_http_server::operation::OperationShape for OperationWithDefaults {
   68     76   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   69     77   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   70     78   
            "aws.protocoltests.json10#OperationWithDefaults",
   71     79   
            "aws.protocoltests.json10",
   72     80   
            "OperationWithDefaults",
   73     81   
        );
   74     82   
   75     83   
    type Input = crate::input::OperationWithDefaultsInput;
   76     84   
    type Output = crate::output::OperationWithDefaultsOutput;
   77     85   
    type Error = crate::error::OperationWithDefaultsError;
   78     86   
}
   79     87   
   80     88   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for OperationWithDefaults {
   81     89   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   82     90   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   83     91   
   84     92   
    fn request_fmt() -> Self::RequestFmt {
   85     93   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
   86     94   
    }
   87     95   
   88     96   
    fn response_fmt() -> Self::ResponseFmt {
   89     97   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   90     98   
    }
   91     99   
}
         100  +
/* ServerOperationGenerator.kt:88 */
   92    101   
   93         -
/// The example tests how servers must support requests containing a `Content-Type` header with parameters.
         102  +
/// /* ServerOperationGenerator.kt:48 */The example tests how servers must support requests containing a `Content-Type` header with parameters.
         103  +
/* ServerOperationGenerator.kt:55 */
   94    104   
pub struct ContentTypeParameters;
   95    105   
   96    106   
impl ::aws_smithy_http_server::operation::OperationShape for ContentTypeParameters {
   97    107   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
   98    108   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
   99    109   
            "aws.protocoltests.json10#ContentTypeParameters",
  100    110   
            "aws.protocoltests.json10",
  101    111   
            "ContentTypeParameters",
  102    112   
        );
  103    113   
  104    114   
    type Input = crate::input::ContentTypeParametersInput;
  105    115   
    type Output = crate::output::ContentTypeParametersOutput;
  106    116   
    type Error = std::convert::Infallible;
  107    117   
}
  108    118   
  109    119   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for ContentTypeParameters {
  110    120   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  111    121   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  112    122   
  113    123   
    fn request_fmt() -> Self::RequestFmt {
  114    124   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  115    125   
    }
  116    126   
  117    127   
    fn response_fmt() -> Self::ResponseFmt {
  118    128   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  119    129   
    }
  120    130   
}
         131  +
/* ServerOperationGenerator.kt:88 */
  121    132   
         133  +
/* ServerOperationGenerator.kt:48 */
  122    134   
#[allow(missing_docs)] // documentation missing in model
         135  +
                       /* ServerOperationGenerator.kt:55 */
  123    136   
pub struct PutWithContentEncoding;
  124    137   
  125    138   
impl ::aws_smithy_http_server::operation::OperationShape for PutWithContentEncoding {
  126    139   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  127    140   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  128    141   
            "aws.protocoltests.json10#PutWithContentEncoding",
  129    142   
            "aws.protocoltests.json10",
  130    143   
            "PutWithContentEncoding",
  131    144   
        );
  132    145   
  133    146   
    type Input = crate::input::PutWithContentEncodingInput;
  134    147   
    type Output = crate::output::PutWithContentEncodingOutput;
  135    148   
    type Error = std::convert::Infallible;
  136    149   
}
  137    150   
  138    151   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  139    152   
    for PutWithContentEncoding
  140    153   
{
  141    154   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  142    155   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  143    156   
  144    157   
    fn request_fmt() -> Self::RequestFmt {
  145    158   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  146    159   
    }
  147    160   
  148    161   
    fn response_fmt() -> Self::ResponseFmt {
  149    162   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  150    163   
    }
  151    164   
}
         165  +
/* ServerOperationGenerator.kt:88 */
  152    166   
         167  +
/* ServerOperationGenerator.kt:48 */
  153    168   
#[allow(missing_docs)] // documentation missing in model
         169  +
                       /* ServerOperationGenerator.kt:55 */
  154    170   
pub struct HostWithPathOperation;
  155    171   
  156    172   
impl ::aws_smithy_http_server::operation::OperationShape for HostWithPathOperation {
  157    173   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  158    174   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  159    175   
            "aws.protocoltests.json10#HostWithPathOperation",
  160    176   
            "aws.protocoltests.json10",
  161    177   
            "HostWithPathOperation",
  162    178   
        );
  163    179   
  164    180   
    type Input = crate::input::HostWithPathOperationInput;
  165    181   
    type Output = crate::output::HostWithPathOperationOutput;
  166    182   
    type Error = std::convert::Infallible;
  167    183   
}
  168    184   
  169    185   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for HostWithPathOperation {
  170    186   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  171    187   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  172    188   
  173    189   
    fn request_fmt() -> Self::RequestFmt {
  174    190   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  175    191   
    }
  176    192   
  177    193   
    fn response_fmt() -> Self::ResponseFmt {
  178    194   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  179    195   
    }
  180    196   
}
         197  +
/* ServerOperationGenerator.kt:88 */
  181    198   
         199  +
/* ServerOperationGenerator.kt:48 */
  182    200   
#[allow(missing_docs)] // documentation missing in model
         201  +
                       /* ServerOperationGenerator.kt:55 */
  183    202   
pub struct EndpointWithHostLabelOperation;
  184    203   
  185    204   
impl ::aws_smithy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
  186    205   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  187    206   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  188    207   
            "aws.protocoltests.json10#EndpointWithHostLabelOperation",
  189    208   
            "aws.protocoltests.json10",
  190    209   
            "EndpointWithHostLabelOperation",
  191    210   
        );
  192    211   
  193    212   
    type Input = crate::input::EndpointWithHostLabelOperationInput;
  194    213   
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
  195    214   
    type Error = crate::error::EndpointWithHostLabelOperationError;
  196    215   
}
  197    216   
  198    217   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  199    218   
    for EndpointWithHostLabelOperation
  200    219   
{
  201    220   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  202    221   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  203    222   
  204    223   
    fn request_fmt() -> Self::RequestFmt {
  205    224   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  206    225   
    }
  207    226   
  208    227   
    fn response_fmt() -> Self::ResponseFmt {
  209    228   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  210    229   
    }
  211    230   
}
         231  +
/* ServerOperationGenerator.kt:88 */
  212    232   
         233  +
/* ServerOperationGenerator.kt:48 */
  213    234   
#[allow(missing_docs)] // documentation missing in model
         235  +
                       /* ServerOperationGenerator.kt:55 */
  214    236   
pub struct EndpointOperation;
  215    237   
  216    238   
impl ::aws_smithy_http_server::operation::OperationShape for EndpointOperation {
  217    239   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  218    240   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  219    241   
            "aws.protocoltests.json10#EndpointOperation",
  220    242   
            "aws.protocoltests.json10",
  221    243   
            "EndpointOperation",
  222    244   
        );
  223    245   
  224    246   
    type Input = crate::input::EndpointOperationInput;
  225    247   
    type Output = crate::output::EndpointOperationOutput;
  226    248   
    type Error = std::convert::Infallible;
  227    249   
}
  228    250   
  229    251   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for EndpointOperation {
  230    252   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  231    253   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  232    254   
  233    255   
    fn request_fmt() -> Self::RequestFmt {
  234    256   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  235    257   
    }
  236    258   
  237    259   
    fn response_fmt() -> Self::ResponseFmt {
  238    260   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  239    261   
    }
  240    262   
}
         263  +
/* ServerOperationGenerator.kt:88 */
  241    264   
  242         -
/// This operation uses unions for inputs and outputs.
         265  +
/// /* ServerOperationGenerator.kt:48 */This operation uses unions for inputs and outputs.
         266  +
/* ServerOperationGenerator.kt:55 */
  243    267   
pub struct JsonUnions;
  244    268   
  245    269   
impl ::aws_smithy_http_server::operation::OperationShape for JsonUnions {
  246    270   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  247    271   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  248    272   
            "aws.protocoltests.json10#JsonUnions",
  249    273   
            "aws.protocoltests.json10",
  250    274   
            "JsonUnions",
  251    275   
        );
  252    276   
  253    277   
    type Input = crate::input::JsonUnionsInput;
  254    278   
    type Output = crate::output::JsonUnionsOutput;
  255    279   
    type Error = crate::error::JsonUnionsError;
  256    280   
}
  257    281   
  258    282   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for JsonUnions {
  259    283   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  260    284   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  261    285   
  262    286   
    fn request_fmt() -> Self::RequestFmt {
  263    287   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  264    288   
    }
  265    289   
  266    290   
    fn response_fmt() -> Self::ResponseFmt {
  267    291   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  268    292   
    }
  269    293   
}
         294  +
/* ServerOperationGenerator.kt:88 */
  270    295   
  271         -
/// This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
         296  +
/// /* ServerOperationGenerator.kt:48 */This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
         297  +
/* ServerOperationGenerator.kt:55 */
  272    298   
pub struct GreetingWithErrors;
  273    299   
  274    300   
impl ::aws_smithy_http_server::operation::OperationShape for GreetingWithErrors {
  275    301   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  276    302   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  277    303   
            "aws.protocoltests.json10#GreetingWithErrors",
  278    304   
            "aws.protocoltests.json10",
  279    305   
            "GreetingWithErrors",
  280    306   
        );
  281    307   
  282    308   
    type Input = crate::input::GreetingWithErrorsInput;
  283    309   
    type Output = crate::output::GreetingWithErrorsOutput;
  284    310   
    type Error = crate::error::GreetingWithErrorsError;
  285    311   
}
  286    312   
  287    313   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for GreetingWithErrors {
  288    314   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  289    315   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  290    316   
  291    317   
    fn request_fmt() -> Self::RequestFmt {
  292    318   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  293    319   
    }
  294    320   
  295    321   
    fn response_fmt() -> Self::ResponseFmt {
  296    322   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  297    323   
    }
  298    324   
}
         325  +
/* ServerOperationGenerator.kt:88 */
  299    326   
         327  +
/* ServerOperationGenerator.kt:48 */
  300    328   
#[allow(missing_docs)] // documentation missing in model
         329  +
                       /* ServerOperationGenerator.kt:55 */
  301    330   
pub struct SimpleScalarProperties;
  302    331   
  303    332   
impl ::aws_smithy_http_server::operation::OperationShape for SimpleScalarProperties {
  304    333   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  305    334   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  306    335   
            "aws.protocoltests.json10#SimpleScalarProperties",
  307    336   
            "aws.protocoltests.json10",
  308    337   
            "SimpleScalarProperties",
  309    338   
        );
  310    339   
  311    340   
    type Input = crate::input::SimpleScalarPropertiesInput;
  312    341   
    type Output = crate::output::SimpleScalarPropertiesOutput;
  313    342   
    type Error = std::convert::Infallible;
  314    343   
}
  315    344   
  316    345   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  317    346   
    for SimpleScalarProperties
  318    347   
{
  319    348   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  320    349   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  321    350   
  322    351   
    fn request_fmt() -> Self::RequestFmt {
  323    352   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  324    353   
    }
  325    354   
  326    355   
    fn response_fmt() -> Self::ResponseFmt {
  327    356   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  328    357   
    }
  329    358   
}
         359  +
/* ServerOperationGenerator.kt:88 */
  330    360   
  331         -
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has an empty input and empty output structure that reuses the same shape. While this should be rare, code generators must support this.
         361  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has an empty input and empty output structure that reuses the same shape. While this should be rare, code generators must support this.
         362  +
/* ServerOperationGenerator.kt:55 */
  332    363   
pub struct EmptyInputAndEmptyOutput;
  333    364   
  334    365   
impl ::aws_smithy_http_server::operation::OperationShape for EmptyInputAndEmptyOutput {
  335    366   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  336    367   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  337    368   
            "aws.protocoltests.json10#EmptyInputAndEmptyOutput",
  338    369   
            "aws.protocoltests.json10",
  339    370   
            "EmptyInputAndEmptyOutput",
  340    371   
        );
  341    372   
  342    373   
    type Input = crate::input::EmptyInputAndEmptyOutputInput;
  343    374   
    type Output = crate::output::EmptyInputAndEmptyOutputOutput;
  344    375   
    type Error = std::convert::Infallible;
  345    376   
}
  346    377   
  347    378   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity
  348    379   
    for EmptyInputAndEmptyOutput
  349    380   
{
  350    381   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  351    382   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  352    383   
  353    384   
    fn request_fmt() -> Self::RequestFmt {
  354    385   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  355    386   
    }
  356    387   
  357    388   
    fn response_fmt() -> Self::ResponseFmt {
  358    389   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  359    390   
    }
  360    391   
}
         392  +
/* ServerOperationGenerator.kt:88 */
  361    393   
  362         -
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input and the output is empty. While this should be rare, code generators must support this.
         394  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input and the output is empty. While this should be rare, code generators must support this.
         395  +
/* ServerOperationGenerator.kt:55 */
  363    396   
pub struct NoInputAndOutput;
  364    397   
  365    398   
impl ::aws_smithy_http_server::operation::OperationShape for NoInputAndOutput {
  366    399   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  367    400   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  368    401   
            "aws.protocoltests.json10#NoInputAndOutput",
  369    402   
            "aws.protocoltests.json10",
  370    403   
            "NoInputAndOutput",
  371    404   
        );
  372    405   
  373    406   
    type Input = crate::input::NoInputAndOutputInput;
  374    407   
    type Output = crate::output::NoInputAndOutputOutput;
  375    408   
    type Error = std::convert::Infallible;
  376    409   
}
  377    410   
  378    411   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for NoInputAndOutput {
  379    412   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  380    413   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  381    414   
  382    415   
    fn request_fmt() -> Self::RequestFmt {
  383    416   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  384    417   
    }
  385    418   
  386    419   
    fn response_fmt() -> Self::ResponseFmt {
  387    420   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  388    421   
    }
  389    422   
}
         423  +
/* ServerOperationGenerator.kt:88 */
  390    424   
  391         -
/// The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input or output. While this should be rare, code generators must support this.
         425  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input or output. While this should be rare, code generators must support this.
         426  +
/* ServerOperationGenerator.kt:55 */
  392    427   
pub struct NoInputAndNoOutput;
  393    428   
  394    429   
impl ::aws_smithy_http_server::operation::OperationShape for NoInputAndNoOutput {
  395    430   
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
  396    431   
        ::aws_smithy_http_server::shape_id::ShapeId::new(
  397    432   
            "aws.protocoltests.json10#NoInputAndNoOutput",
  398    433   
            "aws.protocoltests.json10",
  399    434   
            "NoInputAndNoOutput",
  400    435   
        );
  401    436   
  402    437   
    type Input = crate::input::NoInputAndNoOutputInput;
  403    438   
    type Output = crate::output::NoInputAndNoOutputOutput;
  404    439   
    type Error = std::convert::Infallible;
  405    440   
}
  406    441   
  407    442   
impl ::aws_smithy_http_server::instrumentation::sensitivity::Sensitivity for NoInputAndNoOutput {
  408    443   
    type RequestFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  409    444   
    type ResponseFmt = ::aws_smithy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  410    445   
  411    446   
    fn request_fmt() -> Self::RequestFmt {
  412    447   
        ::aws_smithy_http_server::instrumentation::sensitivity::RequestFmt::new()
  413    448   
    }
  414    449   
  415    450   
    fn response_fmt() -> Self::ResponseFmt {
  416    451   
        ::aws_smithy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  417    452   
    }
  418    453   
}
         454  +
/* ServerOperationGenerator.kt:88 */

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

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